在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í)例,分別用int
和string
作為泛型參數(shù),并調(diào)用PrintType
方法來(lái)打印泛型類型的實(shí)際類型。