考虑一下代码,
Type t0 = Type.GetType("System.Drawing.dll");
Type t1 = Type.GetType("System.Drawing.Font");
在这里为了找到“ System.Drawing.Font”的类型,需要程序集“ System.Drawing.dll”。如何使用它。?
即如果我这样做,那么w0的值就不会为空。
考虑我有一个dll,proj.dll,我需要找到该DLL中存在的Class1类的类型。
最佳答案
指定程序集,包括强命名程序集的版本号:
Type t = Type.GetType("System.Drawing.Font,System.Drawing,"+
" Version=2.0.0.0, Culture=neutral, "+
"PublicKeyToken=b03f5f7f11d50a3a");
当然,如果实际上只是
System.Drawing.Font
(或您在编译时知道的另一种类型),请使用typeof
:Type t = typeof(System.Drawing.Font);
如果在编译时知道同一程序集中的另一种类型,则可以使用
Assembly.GetType
:Type sizeType = typeof(System.Drawing.Size);
Assembly assembly = sizeType.Assembly;
Type fontType = assembly.GetType("System.Drawing.Font");
关于c# - C#怀疑GetType,托管CodeGen,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/626115/