考虑一下代码,

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/

10-13 07:59