c# typeof能用于泛型類型嗎

c#
小樊
81
2024-11-16 21:35:51

在C#中,typeof關(guān)鍵字不能直接用于泛型類型。但是,你可以使用typeof與泛型類型一起,并在運(yùn)行時(shí)獲取泛型類型的實(shí)際類型。這里有一個(gè)例子:

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"
    }
}

在這個(gè)例子中,MyGenericClass<T>是一個(gè)泛型類,我們可以通過(guò)typeof(T)獲取泛型類型T的實(shí)際類型。在Main方法中,我們創(chuàng)建了兩個(gè)MyGenericClass的實(shí)例,分別用intstring作為泛型參數(shù),并調(diào)用PrintType方法來(lái)打印泛型類型的實(shí)際類型。

0