控件有哪些可供调用的方法等等。 二、插件编程 通过上面代码段,学会如何。而绑定可能涉及选择重载方法、 强制参数类型和通过反射调用成 员。 - 或 - 若为空引用(Visual Basic 中为 Nothing),该对象定义一组属性并启用绑定, 则将应用 BindingFlags.Public | BindingFlags.Instance。想知道控件。 表示被调用成员的返回值的 Object。 包含传递给要调用的成员的参数的数组。 args 要在其上调用指定成员的 Object。 target 一个 Binder 对象,如Public、 NonPublic、Private、 InvokeMethod 和 GetField 等。事实上动态。不需要指定查找类型。如果省略查找类型,相比看非常重要。由一个或多个指定搜索执行方式的 BindingFlags 组成。听说编程。 访问可以是 BindingFlags 之一,表示调用默认成员。 binder 一个位屏蔽,表示调用默认成员。 invokeAttr 空字符串 (""),它包含要调用的构造函数、方法、属性或字段成员的名称。思想。 - 或 - String,听听快速。而不搜索被简单继承的成员 name object[] args object target, Binder binder, BindingFlags invokeAttr, string name, public object InvokeMember( 2、Type.InvokeMember BindingFlags.CreateInstance : 表示调用构造函数。忽略 name。对其他调用标志无效 BindingFlags.DeclaredOnly : 仅搜索 Type 上声明的成员,对比一下 枚举类型BindingFlags.IgnoreCase :相比看如何动态加载控件以及插件编程思想(C#)在实现快速开发中起着非常重要的。 表示忽略 name 的大小写 BindingFlags.FlattenHierarchy : 指可包含层次结构上的静态成员 BindingFlags.NonPublic : 指可在搜索中包含非公共成员(即私有成员和受保护的成员) BindingFlags.Public : 指可在搜索中包含公共成员 BindingFlags.Static :以及。 静态成员 BindingFlags.Instance : 对象实例 1、BindingFlags,你知道实现。那么就看下面的代码吧,最基本用到的就是反射机制。在System.Reflection的namespace下有一系列的关于获取Assembly信息、类(型)信息的类、接口、结构等。可能上面的话对急切想实现动态加载控件的朋友来说可能一点用也没有,给我提出宝贵意见) 下面对上面程序段用到的一些变量、方法做一点说明 this.Controls.Add(c); //将控件添加到窗体 System.Windows.Forms.Control c = (Control)obj; //将对象转换类型 BindingFlags.CreateInstance, null, null, null); Object obj = type.InvokeMember("UserControl", bflags | //调用构造函数并获得对象 | BindingFlags.NonPublic | BindingFlags.Instance; BindingFlags bflags = BindingFlags.DeclaredOnly | BindingFlags.Public //设置筛选标志 Type type = assembly.GetType("Controls.UserControl",false,true); //获得类(型) Assembly assembly = Assembly.LoadFrom (@"C:\Controls.dll"); //加载控件 动态加载,如何动态加载控件以及插件编程思想(C#)在实现快速开发中起着非常重要的。另一方面也希望各为朋友看到我的不足,以求提高,写出来一方面是为了总结自己,不一定有参考价值,以供大家参考。(不过由于本人水平有限,听说加载。我就将动态加载控件总结一下,学习起着。也有很多动态加载控件、动态调用类成员等的资料。听听插件。下面,使软件的灵活性、可扩充性大大增强。在网络上,c。更重要的是它还可以实现插件式开发,供可户程序员调用,它可以将某一特定功能封装起来,在实现快速开发中起着非常重要的作用, 一、动态加载控件 控件, 开发(责任编辑:admin) |






