C#Activator.CreateInstance用法
时间: 2024-09-07 13:04:09 浏览: 35
`Activator.CreateInstance` 是 C# 中的一个方法,它属于 .NET Framework 的 `System` 命名空间中的 `Activator` 类。这个方法主要用于动态创建对象实例,也就是说,你可以在运行时根据类型信息创建类的实例,而不需要在编译时知道具体的类型。
`Activator.CreateInstance` 有两种常见的使用方式:
1. 使用无参数的构造函数创建对象实例:
```csharp
object instance = Activator.CreateInstance(Type type);
```
这里,`type` 参数表示要创建的类型的 `Type` 对象。这个方法会查找并使用该类型的无参数构造函数来创建实例。
2. 使用指定参数的构造函数创建对象实例:
```csharp
object instance = Activator.CreateInstance(Type type, params object[] args);
```
在这种方式中,除了类型信息外,`args` 参数包含了传递给构造函数的参数。这个方法会根据提供的参数信息来找到匹配的构造函数,并使用这些参数来创建实例。
示例代码:
```csharp
using System;
public class Example
{
public Example(int number)
{
Console.WriteLine("Example object created with number: " + number);
}
}
public class Program
{
public static void Main()
{
// 使用无参数构造函数创建实例
Type exampleType = typeof(Example);
Example instance1 = (Example)Activator.CreateInstance(exampleType);
// 使用指定参数的构造函数创建实例
Example instance2 = (Example)Activator.CreateInstance(exampleType, 10);
}
}
```