2011-12-30 78 views
1

对不起,如果这个问题听起来令人困惑。我的问题是我正在使用以下内容:我无法使用Type.GetType方法获取类型?

var packageType = Type.GetType(className); 

我非常仔细地检查过,className是类型的完全限定名称。我多次检查了className变量。但是,当它执行时,它将packageType设置为null!

我知道我的课程名称是Product。有没有一种方法可以获得名称的字符串表示形式,以便我可以检查它是否与我传递给上面的className字符串完全相同。

回答

3

您可能需要提供装配合格的名称。注:

Type.GetType

参数:typeName的

类型:System

类型得到的程序集限定名称。见AssemblyQualifiedName。如果该类型位于当前正在执行的程序集或Mscorlib.dll中,则只需提供由其名称空间限定的类型名即可。

例如,如果我想获得当前正在执行的组件外部定义的类型,我可以使用Type.GetType如下:

var name = "CommonLibrary.ICommand, CommonLibrary, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"; 
var type = Type.GetType(name); 

如果执行的程序集里面,我只需要资格它通过命名空间

var type = Type.GetType("CommonLibrary.ICommand"); 
3

是:typeof(Product).FullName

-1

您需要例如调用这个使用对象

string str = ""; 
string type = str.GetType().ToString(); 

这会给你“System.String”,在“类型”变量

+0

这只是如果你想获得一个对象的类型。如果没有物体会怎么样? – diggingforfire 2011-12-30 17:54:59

相关问题