下一个代码产生null:
Type type = typeof(Console).Assembly.GetType("Console"); //null
怎么可能?我在Assembly中查找控制台类型的控制台......
答案 0 :(得分:0)
GetType()
需要该类型的全名,包括命名空间。
如果你想要那种单一类型,你也可以只用typeof(Console)
来获得它。
答案 1 :(得分:0)
我认为Tomas非常清楚地回答了你的问题;但是,我想补充一点,因为你实际上知道了类型,你可以做类似以下的事情:
Type type = typeof(Console);
type = type.Assembly.GetType(type.FullName);
您可以使用FullName属性获取包含命名空间的类型的全名。这种方式将来可以避免您刚遇到的问题。