在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
的實例,分別用int
和string
作為泛型參數,并調用PrintType
方法來打印泛型類型的實際類型。