【发布时间】:2010-12-01 13:12:42
【问题描述】:
我有以下代码:
var type = typeof(PluginInterface.iMBDDXPluginInterface);
var types = AppDomain.CurrentDomain.GetAssemblies().ToList()
.SelectMany(s => s.GetTypes())
.Where(p => type.IsAssignableFrom(p));
Type t = types.ElementAt(0);
PluginInterface.iMBDDXPluginInterface instance = Activator.CreateInstance(t) as PluginInterface.iMBDDXPluginInterface;
TabPage tp = new TabPage();
tp = instance.pluginTabPage();
dll 中的类实现了上面代码中的 PluginInterface 和 Type,绝对是正确的类/类型,但是当我尝试通过接口创建实例时,我收到一条错误消息:
对象引用未分配给对象的实例。
有人知道为什么吗?
谢谢。
【问题讨论】:
-
你在哪一行得到这个异常?
-
我在调用 instance.pluginTabPage 方法时得到它。
-
您需要更好的错误消息 - 将您的
Activator.CreateInstance(t) as Plugin...更改为(Plugin...) Activator.CreateInstance(t) -
现在已修复....这是我的 dll 类的错误。谢谢。
标签: c# reflection