加载程序集,实现编辑器插件(反射)
来源:互联网 发布:代理服务器ip和端口 编辑:程序博客网 时间:2024/05/01 19:04
1.插件实现机制,动态加载DLL,遍历DLL文件,调用无参构造函数创建对象。
private void Form1_Load(object sender, EventArgs e) { string path = @"D:\dll"; string[] files=Directory.GetFiles(path,"*.dll"); foreach (string file in files) { Assembly asm = Assembly.LoadFile(file); Type[] types = asm.GetExportedTypes(); Type type = types[0]; object obj = Activator.CreateInstance(type); Plugwhight pw = obj as Plugwhight; ToolStripMenuItem mi1 = new ToolStripMenuItem(pw.Name); 工具ToolStripMenuItem.DropDownItems.Add(mi1); mi1.Click += new EventHandler(mi1_Click); mi1.Tag = obj; } } void mi1_Click(object sender, EventArgs e) { ToolStripMenuItem mi = sender as ToolStripMenuItem; Plugwhight pw = (Plugwhight)mi.Tag; textBox1.Text = pw.ReplText(textBox1.Text); }
接口
public interface Plugwhight
{
string Name { get; }
string ReplText(string oldText);
}
- 加载程序集,实现编辑器插件(反射)
- 程序集加载和反射
- 谈谈:程序集加载和反射
- 利用反射实现类的动态加载(程序改正)
- 微信小程序-编辑器插件
- 小程序-编辑器插件
- .Net动态加载插件-反射
- kindeditor插件实现编辑器
- 应用程序配置和动态加载5----反射程序集
- c#使用反射加载程序集Assembly。load()使用全过程
- 反射动态加载程序集Assembly.Load和Assembley.LoadFrom
- Unity热更新之C#反射加载程序集
- c#反射中Assembly类动态加载程序集
- Unity3D热更新之C#反射加载程序集
- Android-动态加载插件化的两种实现方式(一):反射
- vlc 插件加载模拟程序
- ACE插件实现web编辑器
- 反射动态加载类库时出现未能加载文件或程序集的解决方法
- 要让自己快速融入一个陌生的环境中
- Repeater控件使用(含删除,分页功能)
- 手动导出firefox配置文件,附加组件
- 《com原理与应用》第4章聚合示例程序--执行流程
- 使用HTML5制作游戏
- 加载程序集,实现编辑器插件(反射)
- fedora 16 安装mplayer
- 腾讯VS百度
- 2011年回顾以及2012年展望
- windows 2008 NLB (网络负载均衡
- 我的第一次SAS编程
- xhEditor 嵌入到ASP.NET的步骤
- hive导入数据丢失问题
- 从未谋面只闻其名——缅怀张孝祥老师!