The Last Day Of Summer

.NET技术 C# ASP.net ActiveReport SICP 代码生成 报表应用 RDLC
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

如何知道一个类都实现了哪些接口和从那个类继承

Posted on 2004-07-08 19:51  Cure  阅读(1446)  评论(0编辑  收藏  举报

可能的情况有:从一个类继承,从一个或多个接口继承,从一个类和一个或多个接口继承。
使用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());