1

我正在尝试创建一个System.Diagnostics.ConsoleTraceListener使用字符串的实例,该字符串是从 xml 文件中获取的。

Dictionary<string, TraceListener> dListeners = new Dictionary<string, TraceListener>();
string sType = "System.Diagnostics.ConsoleTraceListener";
Type oType = Type.GetType(sType);//getting null here
dListeners["Listener1"] = (TraceListener)Activator.CreateInstance(oType);

我在上面得到 oType 为 null 。我不知道为什么,缺少什么?我是否还需要在字符串中指定程序集名称?

4

1 回答 1

0

在指定程序集的完全限定名称后,我能够创建实例。

谢谢@汉斯

Dictionary<string, TraceListener> dListeners = new Dictionary<string, TraceListener>();
string sType = "System.Diagnostics.ConsoleTraceListener, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089";
Type oType = Type.GetType(sType);              
dListeners["Listener1"] = (TraceListener)Activator.CreateInstance(oType);
于 2013-04-02T17:02:23.023 回答