我写了个ActiveX控件,控件内部代码在调用Assembly.CreateInstance方法的时候一直返回空;之后我把控件代码做成一个winfrom程序可以正常运行,Assembly.CreateInstance方法也能正常调用请问各位大虾,什么情况下Assembly.CreateInstance方法返回空?
解决方案 »
- .NET内存释放
- 怎样才能检测到网络被断开?
- 请问.NET有没有直接提供支持POP3的类?
- 请教一个挺难的sql查询
- 求解决,文件读取问题
- 要运行用VS.NET开发的软件,机器上是不是一定要安装.Net FrameWork啊?
- how to create a shortcut (shell link) onto the desktop?
- 谁有比较好的用C#写的关于GDI+的例子
- VS 添加数据库文件提示不支持用户实例登录,数据库版本是企业版
- C#编写可以去除小连通区域像素函数,类似bwareaopen函数
- 网页回复时自动填表的问题,好像很难啊
- GridView在RowCommand事件中查找控件,并且显示该对控件,为什么没有作用?
如果你要反射的类型不在当前程序集中(Assembly.CreateInstance这段代码所在的程序集)
那么需要从指定路径来创建Assembly,然后再反射
http://msdn.microsoft.com/zh-cn/library/system.reflection.assembly.load(v=vs.80).aspx
也可以用
Activator.CreateInstanceFrom
Type type = Type.GetType(typeName);
object obj = Activator.CreateInstance(type);如果 type 是 null 的話,表示 typeName 是錯誤的,不然不會 null。如果 source 是 dll file 的話,如下:Assembly assembly = Assembly.LoadFile("test.dll");
assembly.CreateInstance("AssemblyQualifiedName");
这是程序集的强类型签名好不,是Assembly的信息,而不是某个Type的完全限定名
麻烦你点开我上面那两个链接进去看看就知道了
去了解了解