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