在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
。