在C#中,CreateInstance
方法用于创建一个类的实例。这个方法属于System.Reflection
命名空间下的Type
类。要设置CreateInstance
方法的参数,你需要提供要实例化的类的类型、构造函数的参数类型和参数值。
以下是一个简单的示例,说明如何使用CreateInstance
方法:
using System;
using System.Reflection;
class Program
{
static void Main()
{
// 获取要实例化的类的类型
Type type = typeof(MyClass);
// 创建一个包含构造函数参数的对象数组
object[] constructorArgs = new object[] { "arg1", 42 };
// 使用 CreateInstance 方法创建类的实例
object instance = Activator.CreateInstance(type, constructorArgs);
// 调用实例上的方法
MyClass myInstance = (MyClass)instance;
Console.WriteLine(myInstance.MyMethod("Hello, World!"));
}
}
class MyClass
{
public string MyMethod(string message)
{
return $"MyClass received: {message}";
}
}
在这个示例中,我们首先获取了MyClass
的类型,然后创建了一个包含构造函数参数的对象数组。接下来,我们使用CreateInstance
方法创建了一个MyClass
的实例,并将其转换为MyClass
类型。最后,我们调用了实例上的MyMethod
方法。