type.gettype总返回null,实在是不知道怎么回事

chgsnake 2004-01-10 04:48:22
我在一个控制台程序中reference了一个.net dll组件,但调用type.gettype总返回null,实在是不知道怎么回事

Type.GetType("RemotingSamples.HelloServer,object")
Type.GetType("RemotingSamples.HelloServer")
Type.GetType("HelloServer")
这几种都是null

...全文
1607 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
qingruibin 2010-06-22
  • 打赏
  • 举报
回复
原因是因为你的

RemotingSamples.HelloServer.object 类不在主程序集中
RemotingSamples.HelloServer 也不在.
-------------------------------------------------------

----------------------正确使用--------------------------
Assembly ass Assembly.Load("程序集空间");
Type tmpTp=ass.GetType("RemotingSamples.HelloServer.object");
这样 type就不是空的了.
tmpTp=ass.GetType("RemotingSamples.HelloServer");

qingruibin 2010-06-22
  • 打赏
  • 举报
回复
....
polarlm 2004-01-10
  • 打赏
  • 举报
回复
另外一种获取类型的方法是通过Type.GetType以及Assembly.GetType方法,如:
Type t = Type.GetType(“System.String”);
需要注意的是,前面我们讲到了命名空间和装配件的关系,要查找一个类,必须指定它所在的装配件,或者在已经获得的Assembly实例上面调用GetType。
本装配件中类型可以只写类型名称,另一个例外是mscorlib.dll,这个装配件中声明的类型也可以省略装配件名称(.Net装配件编译的时候,默认都引用了mscorlib.dll,除非在编译的时候明确指定不引用它),比如:
System.String是在mscorlib.dll中声明的,上面的Type t = Type.GetType(“System.String”)是正确的
System.Data.DataTable是在System.Data.dll中声明的,那么:
Type.GetType(“System.Data.DataTable”)就只能得到空引用。
必须:
Type t = Type.GetType("System.Data.DataTable,System.Data,Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089");
这样才可以,大家可以看下面这个帖子:
http://expert.csdn.net/Expert/topic/2210/2210762.xml?temp=.1919977
qqchen的回答很精彩


摘自http://expert.csdn.net/Expert/topic/2214/2214138.xml?temp=.6278498

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧