C#反射的一些应用
程序员文章站
2024-03-05 09:04:06
对于反射贫道也是很陌生的,所以趁现在有时间就把反射看了一下,记下笔记!!!反射的定义:反射(reflection)是.net中的重要机制,通过放射,可以在运行时获得.net...
对于反射贫道也是很陌生的,所以趁现在有时间就把反射看了一下,记下笔记!!!
反射的定义:反射(reflection)是.net中的重要机制,通过放射,可以在运行时获得.net中每一个类型(包括类、结构、委托、接口和枚举等)的成员,包括方法、属性、事件,以及构造函数等。还可以获得每个成员的名称、限定符和参数等。有了反射,即可对每一个类型了如指掌。如果获得了构造函数的信息,即可直接创建对象,即使这个对象的类型在编译时还不知道。
1,导入using system.reflection;
2,assembly.load("程序集")//assembly.loadfile("外部调用的动态库")加载程序集,返回类型是一个assembly
3, foreach (type type in assembly.gettypes())
{
string t = type.name;
}
得到程序集中所有类的名称
4,type type = assembly.gettype("程序集.类名");获取当前类的类型
5,activator.createinstance(type); 创建此类型实例
6,methodinfo minfo = type.getmethod("方法名");获取当前方法
7,minfo.invoke(null,方法参数);
这些是反射的一些基本应用,,,
以上只是对于反射的基本学习,以后还要多看,多练习啊!!!