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