创建System.Drawing.Point类型的运行时对象时出错

本文关键字:运行时 对象 出错 类型 System Drawing Point 创建 | 更新日期: 2023-09-27 18:24:45

我想在运行时创建一个System.Drawing.Point类型的对象,我尝试使用以下代码:

String typename = "System.Drawing.Point";
Type tp = Type.GetType(typename);
Object instance = Activator.CreateInstance(tp);

但我总是得到tp == null。但是,例如,如果我使用System.Double,一切都可以。

创建System.Drawing.Point类型的运行时对象时出错

Type.GetType将尝试从mscorlib加载该类型。使用类型的程序集限定名称。

String typename = "System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a";
Type tp = Type.GetType(typename);

您需要在类型名称中限定程序集,因此

String typename = "System.Drawing.Point, System.Drawing";

将工作(如果引用并加载了System.Drawing.dll)。

typeName

类型:System.String

要获取的类型的程序集限定名。[..]如果该类型在当前执行的程序集中或Mscorlib.dll中,则提供由其命名空间限定的类型名称就足够了。