温馨提示×

c# createsinstance如何处理泛型

c#
小樊
81
2024-12-01 03:08:58
栏目: 编程语言

在C#中,CreateInstance方法用于创建一个类型的实例。当你需要使用泛型时,可以通过以下方法处理:

  1. 使用类型参数:
public class MyGenericClass<T>
{
    public T Value { get; set; }
}

// 创建一个MyGenericClass<int>的实例
MyGenericClass<int> intInstance = (MyGenericClass<int>)Activator.CreateInstance(typeof(MyGenericClass<int>));
intInstance.Value = 42;
  1. 使用已知的类型参数:
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方法来创建泛型类的实例。第一个示例使用了类型参数,而第二个示例使用了已知的类型参数。注意,在使用已知的类型参数时,我们需要将类型参数作为方法的第二个参数传递。

0