【发布时间】:2012-10-15 14:55:27
【问题描述】:
我刚刚注意到函数中有一个错误:
Type.GetType("System.Uri");
返回值为 null 而以下函数运行良好...
Type.GetType("System.string");
Type.GetType("System.bool");
Type.GetType("System.DateTime");
...
谁知道,为什么返回的Type是null?
编辑:删除 Uri 双重输入...
【问题讨论】:
-
困惑:您在工作和不工作时都显示 System.URi
-
我很惊讶
Type.GetType("System.string");和Type.GetType("System.bool");正在工作,因为我不知道这些类型的存在。 -
Darin、string 和 bool 是 System 命名空间中类型的快捷方式。 msdn.microsoft.com/es-es/library/system.string(v=vs.80).aspx
-
@Oscar,我知道。但这些是 C# 特定的快捷方式。它们只是编译时别名。当您使用
Type.GetType方法时,您应该提供类型的完全限定名称。Type.GetType("System.bool")永远不会起作用,因为 BCL 中不存在这种类型。正确的类型名称是System.Boolean。和System.String。所以这里的这个问题没有任何意义。 @OP,请澄清你的问题。 -
@Oscar 我以为那些是编译时别名。 actual 类型是
System.Boolean,实际上不存在System.bool。与System.string相同。