在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对象,我们可以在运行时访问和操作类型的成员,实现元编程的功能。