Type.GetType()动态字符串返回null

时间:2012-04-12 15:26:52

标签: c#

我正在使用Type.GetType()来创建实例。

这有效:

 var type = Type.GetType("Test.ClassServices.HowService, Test");

但是,这不起作用。它返回null

 var name = "How";
 var type = Type.GetType("Test.ClassServices."+name+"Service, Test");

1 个答案:

答案 0 :(得分:5)

没有-REPRO。运行此示例:

var hardCodedWorking = Type.GetType("System.String");

var stringName = "String";
var concatenatedWorking = Type.GetType("System." + stringName);

var badStringName = "string";
var concatenatedNull = Type.GetType("System." + badStringName);

来自MSDN上的Type.GetType()

  

获取具有指定名称的Type,执行区分大小写   搜索范围。

基于此以及上面的示例,我认为name的值很可能与该类的名称不完全匹配。