在C#中,typeof關鍵字用于獲取指定類型的System.Type對象,從而可以實現反射功能。通過typeof關鍵字,我們可以獲取一個類型的元數據信息,包括類的成員、屬性、方法等。下面是一個簡單的示例代碼,演示了如何使用typeof關鍵字實現反射功能:
using System;
class Program
{
static void Main()
{
// 獲取指定類型的Type對象
Type type = typeof(MyClass);
// 獲取類的名稱
Console.WriteLine("Class name: " + type.Name);
// 獲取類的所有成員信息
foreach (var member in type.GetMembers())
{
Console.WriteLine("Member: " + member.Name);
}
// 通過反射創建類的實例
object obj = Activator.CreateInstance(type);
// 調用類的方法
type.GetMethod("MyMethod").Invoke(obj, null);
}
}
class MyClass
{
public void MyMethod()
{
Console.WriteLine("Hello, this is MyMethod!");
}
}
在上面的示例代碼中,首先使用typeof關鍵字獲取MyClass的Type對象,然后通過Type對象獲取類的名稱、成員信息等。最后,通過反射創建MyClass的實例,并調用MyMethod方法。通過這種方式,我們可以在運行時動態地獲取類的信息并執行其成員。