此页面有用吗?
您对此内容的反馈非常重要。 请告诉我们您的想法。
更多反馈?
1500 个剩余字符
MSDN Library
信息
您所需的主题如下所示。但此主题未包含在此库中。

Activator.CreateInstance 方法 (Type)

2013/12/13

使用指定类型的默认构造函数来创建该类型的实例。

Namespace:  System
程序集:  mscorlib(位于 mscorlib.dll 中)

public static Object CreateInstance(
	Type type
)

参数

type
类型: System.Type
要创建的对象的类型。

返回值

类型: System.Object
对新创建对象的引用。

异常条件
ArgumentNullException

typenull

ArgumentException

type 不是 RuntimeType

- 或 -

type 是一个开放式泛型类型(即,ContainsGenericParameters 属性返回 true)。

NotSupportedException

不支持创建 VoidRuntimeArgumentHandle 类型,也不支持创建这些类型的数组。

TargetInvocationException

被调用的构造函数引发异常。

MethodAccessException

调用方没有调用此构造函数的权限。

MemberAccessException

无法创建抽象类的实例,或者用后期绑定机制调用了该成员。

MissingMethodException

找不到匹配的公共构造函数。

COMException

type 是一个 COM 对象,但用于获取类型的类标识符无效,或被标识的类未注册。

TypeLoadException

type 不是有效的类型。

要调用的类型和构造函数必须是可访问的。如果使用 DynamicMethod 创建动态方法,则不能调用 internal 构造函数,因为该动态方法将承载在系统提供的程序集内的某个匿名模块中。

版本说明

Windows Phone

 对于不具有未定义构造函数的类型,CreateInstance 方法引发 MemberAccessException 异常而不是 MissingMethodException 异常。

下面的代码示例演示如何调用 CreateInstance(Type) 方法。此代码示例摘自一个为 Activator 类提供的更大示例。


Type sbType = typeof(StringBuilder);

// Create an instance of the StringBuilder type using Activator.CreateInstance
// and the parameterless constructor.
object o = Activator.CreateInstance(sbType);

// Append a string to the StringBuilder object and display the StringBuilder,
// late bound.
sbType.InvokeMember("Append", 
   BindingFlags.Public | BindingFlags.Instance | BindingFlags.InvokeMethod, 
   Type.DefaultBinder, 
   o, new object[] {"Hello, there."});
outputBlock.Text += o.ToString() + "\n";


Windows Phone OS

受以下版本支持: 8.0, 7.1, 7.0

Windows Phone

显示:
© 2015 Microsoft