关于反射的问题
例如我们想获得某个类的类型时,明明写对了 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"); //这样写就对了