进入C#也两三个月了
这个问题一直困扰着我
就是反射
反射有什么用?
用在哪里?
用了有什么好处?
这个问题一直困扰着我
就是反射
反射有什么用?
用在哪里?
用了有什么好处?
解决方案 »
- 谁用过C1.C1Excel.2.dll这个得
- C#下如何传递字符串给VC的dll
- GridView控件中用DropDownList查询数据库的问题
- 如何格式化时间?
- 谁知道这个错在那里 MediaPlayer1.currentMedia.getItemInfo("title") 高手们一定要指点一下
- 请问如何把webrequest得到的网页源码中制定的代码取出来并进行分析?
- 关于MOUSE右键菜单的问题!100分送!!!
- 哪位大虾能够详细的介绍一下.net Framework
- 我使用OracleClient打开oracle8.1.5后出现错误!!
- 请问:在vs.net里面怎么把写好的程序变成可执行的文件(如.exe等)
- c#问题
- 硬盘空间不足,文件拷贝有什么问题
Type classType = assembly.GetType(className);
MethodInfo method = classType.GetMethod(methodName);
object classObject = assembly.CreateInstance(className);
method.Invoke(classObject, parameters);
1.使用 Assembly 定义和加载程序集,加载在程序集清单中列出的模块,以及从此程序集中查找类型并创建该类型的实例。
2.使用 Module 了解如下的类似信息:包含模块的程序集以及模块中的类等。您还可以获取在模块上定义的所有全局方法或其他特定的非全局方法。
3.使用 ConstructorInfo 了解如下的类似信息:构造函数的名称、参数、访问修饰符(如 public 或 private)和实现详细信息(如 abstract 或 virtual)等。
4.使用 Type 的 GetConstructors 或 GetConstructor 方法来调用特定的构造函数。
5.使用 MethodInfo 来了解如下的类似信息:方法的名称、返回类型、参数、访问修饰符(如 public 或 private)和实现详细信息(如 abstract 或 virtual)等。使用 Type 的 GetMethods 或 GetMethod 方法来调用特定的方法。
6.使用 FieldInfo 来了解如下的类似信息:字段的名称、访问修饰符(如 public 或 private)和实现详细信息(如 static)等;并获取或设置字段值。
7.使用 EventInfo 来了解如下的类似信息:事件的名称、事件处理程序数据类型、自定义属性、声明类型和反射类型等;并添加或移除事件处理程序。
8.使用 PropertyInfo 来了解如下的类似信息:属性的名称、数据类型、声明类型、反射类型和只读或可写状态等;并获取或设置属性值。
9.使用 ParameterInfo 来了解如下的类似信息:参数的名称、数据类型、参数是输入参数还是输出参数,以及参数在方法签名中的位置等。
但是呢 你要生成100个checkbox
那么可以用反射 根据数据库里有多少数据 生成对应的checkbox = =.曾今做过
就象
Program a=new Program();
但是之前,你根本不知道要创建哪个Program,也就是你只知道“program"的名字一样
就先得到根据名字得到类型,再创建
举个例子,你在设计窗体或者Webform的时候,肯定用到过属性窗口吧,那个窗口里可以编辑控件的属性。你考虑过VS为什么能知道控件有什么属性?每个属性该怎么显示怎么编辑?即使是你自己添加的自定义控件,它也能正确显示和编辑。这就是反射的一个应用。
类不是这样吗:
Class1 Cl =New Class1();
但是现在不知道是用Class1 还是用Class2 ?
所以要用反射来动态加载某个类。(但是你知道那个类是存在的!)