尽管类型在程序集中,但Assemble.GetType生成null

时间:2014-06-27 17:05:29

标签: c# reflection types console

下一个代码产生null:

Type type = typeof(Console).Assembly.GetType("Console"); //null

怎么可能?我在Assembly中查找控制台类型的控制台......

2 个答案:

答案 0 :(得分:0)

GetType()需要该类型的全名,包括命名空间。

如果你想要那种单一类型,你也可以只用typeof(Console)来获得它。

答案 1 :(得分:0)

我认为Tomas非常清楚地回答了你的问题;但是,我想补充一点,因为你实际上知道了类型,你可以做类似以下的事情:

    Type type = typeof(Console);
    type = type.Assembly.GetType(type.FullName);

您可以使用FullName属性获取包含命名空间的类型的全名。这种方式将来可以避免您刚遇到的问题。