中国法律网
法律通行证: 用户名: 密码:  注册
律师加盟热线:400-8919-913   律信通 律信通  
律师
公众 咨询 贴吧
律信通 案件委托
频道 房产 婚姻 交通事故 保险 建设工程 劳动
留学
公司 合同 刑事辩护 医疗 知识产权 工商
新闻 宽频 文书 常识 案例
法规 专题 杂志 百科 论文
查找全国各地律师: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 点击各城市名拼音首字母查找律师 公众找律师,信赖律信通!律师做宣传,首选律信通!
公检法司
频道直达: 法界新闻 | 公安 | 检察 | 法院 | 司法 | 工商 | 税务 | 质检 | 聚焦国土 | 矿山与安全
公检法司
明星资讯明星新闻
当前位置: 主页 > 娱乐资讯 > 明星新闻 >

如何动态加载控件以及插件编程思想(C#)在实现快速开发中起着非常

时间:2014-02-02 11:48来源:小花苞苞 作者:水有情 中国法律网

控件有哪些可供调用的方法等等。

二、插件编程

通过上面代码段,学会如何。而绑定可能涉及选择重载方法、 强制参数类型和通过反射调用成 员。 - 或 - 若为空引用(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)
------分隔线----------------------------
免费法律咨询 在线提交,三十分钟内百分百回复!
中国法律网 版权所有 邮箱:service@5Law.cn 建议使用:1024x768分辨率,16位以上颜色 | 京ICP备2023040428号-1联系我们 有事点这里    [切换城市▲] 公司法
400-8919-913 工作日:9:00-18:00
周 六:9:00-12:00

法律咨询5分钟内回复
请用微信扫描二维码
关闭

关注网站CEO微信,与CEO对话