温馨提示×

c# typeof能用于泛型类型吗

c#
小樊
81
2024-11-16 21:35:51
栏目: 编程语言

在C#中,typeof关键字不能直接用于泛型类型。但是,你可以使用typeof与泛型类型一起,并在运行时获取泛型类型的实际类型。这里有一个例子:

public class MyGenericClass<T>
{
    public void PrintType()
    {
        Type type = typeof(T);
        Console.WriteLine($"The type of T is: {type}");
    }
}

public class Program
{
    public static void Main()
    {
        MyGenericClass<int> intInstance = new MyGenericClass<int>();
        intInstance.PrintType(); // 输出 "The type of T is: System.Int32"

        MyGenericClass<string> stringInstance = new MyGenericClass<string>();
        stringInstance.PrintType(); // 输出 "The type of T is: System.String"
    }
}

在这个例子中,MyGenericClass<T>是一个泛型类,我们可以通过typeof(T)获取泛型类型T的实际类型。在Main方法中,我们创建了两个MyGenericClass的实例,分别用intstring作为泛型参数,并调用PrintType方法来打印泛型类型的实际类型。

0