C#--[反射]如何知道一个类都实现了哪些接口和从那个类继承

可能的情况有:从一个类继承,从一个或多个接口继承,从一个类和一个或多个接口继承。
使用Type类的BaseType属性来取得类从哪个类继承。GetInterfaces方法来取得类都实现了哪些接口。
测试代码如下:
类库代码:

using  System;

namespace  GetInterface
{
 
 
public  class  Class1 : Class2,BaseInterface,BaseInterface1
 
{
  
public  Class1()
  
{
  
  }

  
public  void  aaa()
  
{
  Console.WriteLine(
" It's aaa " );
  }

  
public  void  bbb()
  
{
  Console.WriteLine(
" It's bbb " );
  }

 }

 
public  class  Class2
 
{
  
public  Class2()
  
{
  }

 }

 
interface  BaseInterface
 
{
  
void  aaa();
 }

 
interface  BaseInterface1
 
{
  
void  bbb();
 }

}





在winform下显示调用显示:

Type type  typeof (GetInterface.Class1);
Type[] typeInterface 
=  type.GetInterfaces();
foreach  ( Type t  in  typeInterface )
{
    
this .listBox1.Items.Add(t.ToString());
}

Type typeBaseClass 
=  type.BaseType;
this .listBox1.Items.Add ( typeBaseClass.ToString());
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值