在C#中,GetType()
方法用于获取一个对象的类型信息。当你对一个对象调用GetType()
方法时,它会返回一个表示该对象类型的Type
对象。通过这个Type
对象,你可以获取许多关于接口的信息,例如:
- 接口名称:使用
Name
属性可以获取接口的名称。
Type type = obj.GetType(); string interfaceName = type.Name;
- 接口基类:使用
BaseType
属性可以获取接口的基类(如果接口继承自其他接口)。
Type type = obj.GetType(); Type baseType = type.BaseType;
- 接口实现:使用
GetInterfaces()
方法可以获取一个对象实现的所有接口。
Type type = obj.GetType(); Type[] interfaces = type.GetInterfaces();
- 接口方法:使用
GetMethods()
方法可以获取一个接口的所有方法(包括继承自基类的方法)。
Type type = obj.GetType(); Type interfaceType = type.GetInterface("IMyInterface"); MethodInfo[] methods = interfaceType.GetMethods();
- 属性:使用
GetProperties()
方法可以获取一个接口的所有属性(包括继承自基类的方法)。
Type type = obj.GetType(); Type interfaceType = type.GetInterface("IMyInterface"); PropertyInfo[] properties = interfaceType.GetProperties();
- 事件:使用
GetEvents()
方法可以获取一个接口的所有事件(包括继承自基类的事件)。
Type type = obj.GetType(); Type interfaceType = type.GetInterface("IMyInterface"); EventInfo[] events = interfaceType.GetEvents();
请注意,GetType()
方法只能获取到对象实现的接口信息,而不能获取到对象本身实现的类方法或属性。要获取类的信息,你需要使用obj.GetType()
的替代方法,如obj.GetType().BaseType
。