C#在GetType中有疑问,托管CodeGen

C#在GetType中有疑问,托管CodeGen,c#,C#,以代码为例 Type t0 = Type.GetType("System.Drawing.dll"); Type t1 = Type.GetType("System.Drawing.Font"); 在这里,为了找到“System.Drawing.Font”类型,需要“assembly”System.Drawing.dll。如何使用它 i、 如果我这样做,那么t0的值就不会为空 假设我有一个dll,proj.dll,我需要找到dll中存在的类Class1的类型。指定程序集,包括强名称程序集的版本

以代码为例

Type t0 = Type.GetType("System.Drawing.dll");
Type t1 = Type.GetType("System.Drawing.Font");
在这里,为了找到“System.Drawing.Font”类型,需要“assembly”System.Drawing.dll。如何使用它

i、 如果我这样做,那么t0的值就不会为空


假设我有一个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);
如果在编译时知道同一程序集中的另一个类型,则可以使用:


指定程序集,包括强名称程序集的版本号:

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 asm = Assembly.Load("System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a");
            Type font = asm.GetType("System.Drawing.Font");

传递程序集的强名称以加载它,然后从中加载类型,如

  Assembly asm = Assembly.Load("System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a");
            Type font = asm.GetType("System.Drawing.Font");

您是否尝试动态添加.dll,然后对其执行某些操作?实际上,我想添加一个类库dll,并获取dll中类的类型。您是否尝试动态添加.dll,然后对其执行某些操作?实际上,我想添加一个类库dll,并获取dll中类的类型。type t=type.GetType(“System.Drawing.Font,System.Drawing”);retruns values NULL to t…??如何解决它。您需要指定程序集的全名,包括版本和公钥。如果您使用Jon在其答案中发布的行,它应该会起作用。@Andy:我的答案的第一个版本中没有版本。我怀疑这是必要的,但并不立即知道。我发布了一个快速响应e表示,然后编写了小测试app.Type t=Type.GetType(“System.Drawing.Font,System.Drawing”);retruns values NULL to t…??如何解决它。您需要指定程序集的全名,包括版本和公钥。如果您使用Jon在其答案中发布的行,它应该会起作用。@Andy:我的答案的第一个版本中没有版本。我怀疑这是必要的,但并不立即知道。我发布了一个快速响应e指出了这一点,然后编写了小测试应用程序。谢谢。如果我想添加类库dll并获取dll中某个类的类型,该怎么办?如何添加该dll并找到其版本、结果和公钥令牌。?谢谢。如果我想添加类库dll并获取dll中某个类的类型,该怎么办?如何添加该dll并找到其版本,sulture和公钥令牌。?