在C#中,CreateInstance
方法用于创建一个类型的实例。当你需要使用泛型时,可以通过以下方法处理:
public class MyGenericClass<T>
{
public T Value { get; set; }
}
// 创建一个MyGenericClass<int>的实例
MyGenericClass<int> intInstance = (MyGenericClass<int>)Activator.CreateInstance(typeof(MyGenericClass<int>));
intInstance.Value = 42;
public class MyGenericClass<T>
{
public T Value { get; set; }
}
// 创建一个MyGenericClass<string>的实例
MyGenericClass<string> stringInstance = (MyGenericClass<string>)Activator.CreateInstance(typeof(MyGenericClass<string>), "Hello, World!");
Console.WriteLine(stringInstance.Value); // 输出: Hello, World!
在这两个示例中,我们使用了Activator.CreateInstance
方法来创建泛型类的实例。第一个示例使用了类型参数,而第二个示例使用了已知的类型参数。注意,在使用已知的类型参数时,我们需要将类型参数作为方法的第二个参数传递。