在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方法。通过这种方式,我们可以在运行时动态地获取类的信息并执行其成员。