关于反射:获取类型失败的小问题

来源:互联网 发布:17173捏脸宇智波鼬数据 编辑:程序博客网 时间:2024/05/16 19:27

关于反射的问题

例如我们想获得某个类的类型时,明明写对了 NameSpace.ClassName ,却还是返回空值,为何?

例如:

Type.Get(“System.String”);   // 这个可以有,因为 System.String 就在 mscorlib.dll 中,这个是默认被项目引用的。Type.Get("MyNameSpace.Data.MyClass"); // 这个发现找不到,返回一个NULL
基本上是因为…… 这个笨蛋没找到你引用的DLL,这种情况特别是不同类和命名空间之间的引用更常见。

首先检查:web项目中有木有引用对应的项目。

编译以后可以看到在Bin中产生了 MyNameSpace.Data.Dll

木有?所以,应用程序无法在web项目中找到对应的dll。
添加一个引用就OK了,可以这样写:

Type.GetType("MyNameSpace.Data.MyClass, MyNameSpace.Data");  //这样写就对了