【发布时间】:2013-07-23 20:57:09
【问题描述】:
我想在运行时创建一个System.Drawing.Point 类型的对象,我尝试使用下面的代码:
String typename = "System.Drawing.Point";
Type tp = Type.GetType(typename);
Object instance = Activator.CreateInstance(tp);
但我总是得到tp == null。但是,例如,如果我使用 System.Double 一切正常。
【问题讨论】:
-
System.Drawing.dll加载了吗? -
这是用于什么平台的?例如,Silverlight 无权访问该类型。
-
无论如何,我相信类型名必须是程序集限定的。
-
@J.Steen:取决于平台。对于完整的 .NET,您只需使用全名即可。在 Core-CLR(如 Silverlight)上,您需要组装限定名称。
-
@ChrisSinclair 刚刚在完整的 .NET 中尝试过。没有装配资格就不能工作。