在C#中,typeof關鍵字用于獲取表示指定類型的System.Type對象。通過使用typeof關鍵字,我們可以在運行時獲取有關類型的信息,從而實現元編程。
例如,我們可以使用typeof關鍵字來動態創建對象、調用方法、訪問屬性等。下面是一個簡單的示例,演示如何使用typeof關鍵字實現元編程:
using System;
public class Program
{
public static void Main()
{
Type type = typeof(MyClass);
// 創建對象
var obj = Activator.CreateInstance(type);
Console.WriteLine(obj.GetType().Name);
// 調用方法
var method = type.GetMethod("Print");
method.Invoke(obj, null);
// 訪問屬性
var property = type.GetProperty("Name");
property.SetValue(obj, "Hello World");
Console.WriteLine(property.GetValue(obj));
}
}
public class MyClass
{
public string Name { get; set; }
public void Print()
{
Console.WriteLine("Hello from MyClass");
}
}
在上面的示例中,我們使用typeof關鍵字獲取MyClass類型的System.Type對象,并使用Activator.CreateInstance方法動態創建MyClass對象。然后,我們使用GetMethod和Invoke方法調用Print方法,使用GetProperty、SetValue和GetValue方法訪問Name屬性。
通過使用typeof關鍵字和System.Type對象,我們可以在運行時訪問和操作類型的成員,實現元編程的功能。