一壶开水.net


哈哈,你好啊
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

一个利用反射来实现扩展的小程序示例

Posted on 2005-07-14 23:28  一壶开水  阅读(650)  评论(0)    收藏  举报
  这是一个利用反射来设计的一个简单的可扩展程序示例

Dll_Main.dll包含这个程序的主界面类,在主界面中,左边是一个tree,右边是一个panel,单击tree中的结点即可加载不同的扩展DLL到panel中来

Dll_Main.dll还包括用于编写扩展DLL的基类与接口。接口中定义了一个入口函数,startRun,当然,也可不实现此接口而自己另写入口函数 

在编写新的DLL时, 引用DLL_Main.dll并以DllBase作为基类。具体的可见示例的两个DLL代码 

右键单击tree,出现注册扩展DLL的窗口,将自己编写的扩展DLL拷到DLL文件夹下,再从此界面填写注册信息即可。

 

由于是个简单的示例,所以注册信息保存在一个简单XML中

格式如下

<Node text="测试1">
    
<DLL>DLL01.DLL</DLL>
    
<CLASS>Dll01.UserControl1</CLASS>
    
<METHOD>StarRun</METHOD>
 
</Node>


这也是反射时所需要的信息

示例程序及代码:reflect