一个简单的利用反射获取类型信息的例子:

using system;

using sytem.reflection;

class reflecting

{

 static void Main(string[]args)

{

 reflecting reflect=new reflecting();//定义一个新的自身类

 //调用一个reflecting.exe程序集

 assembly myAssembly =assembly.loadfrom(“reflecting.exe”)

 reflect.getreflectioninfo(myAssembly);//获取反射信息

}

//定义一个获取反射内容的方法

void getreflectioninfo(assembly myassembly)

{

   type[] typearr=myassemby.Gettypes();//获取类型

   foreach (type type in typearr)//针对每个类型获取详细信息

   {

     //获取类型的结构信息

     constructorinfo[] myconstructors=type.GetConstructors;

     //获取类型的字段信息

     fieldinfo[] myfields=type.GetFiedls()

     //获取方法信息

     MethodInfo myMethodInfo=type.GetMethods();

     //获取属性信息

     propertyInfo[] myproperties=type.GetProperties

     //获取事件信息

     EventInfo[] Myevents=type.GetEvents;

    

}

}

}

posted on 2007-08-01 17:32  萧佰刚  阅读(173)  评论(0编辑  收藏  举报