C#实现插件式开发的一个Demo分享

这篇博客分享了一个C#实现的Winform插件式开发Demo,通过定义插件接口,创建DLL项目,并在主程序中使用反射加载插件。博主提供了项目结构和运行效果截图,可供感兴趣的开发者参考和下载源码。
摘要由CSDN通过智能技术生成


winform程序,很多时候都需要用到插件式的,所以本人做了一个Demo,思路跟网上思路基本一致,现在共享出来如有需要的朋友可以下载。

原理很简单:

一:定义插件接口

二:实现插件接口并建立不同工项目,使其在生成时生成不同的DLL

三:主程序运行时根据接口名利用反射对插件目录的DLL进行加载,加载完成后便可以使用插件接口定义的方法或属性了。

下面上几张图,有兴趣的朋友可以先看看,觉得值得一看的朋友可以下载。

项目结构:

DefaultPlugin,PosPlugin两个项目均为插件,均实现了Iplugin接可

Iplugin接口
using  System;
using  System.Collections.Generic;
using  System.Linq;
using  System.Text;
using  System.Drawing;
using  System.Windows.Forms;

namespace  WinDemo.Core
{
    
public   interface  Iplugin
    {

        PluginInfoAttribute PluginInfo
        { 
get set ; }
        
bool  IsLoad
        {
            
get ;
            
set ;
        }

        Image ModulePicture
        {
            
get ;
        }

        Image ModulePictureEnter
        {
            
get ;
        }

        Image ModulePictureClick
        {
            
get ;
        }

        
string  ModuleName
        {
            
get ;
        }


        Dictionary
< string , EventHandler >  ChildNodes
        {
            
get ;
        }

        ILoadForm FormLoader
        {
            
get ;
            
set ;
        }

       
    }
}

 

用于加载插件的类 PluginLoader
using  System;
using  System.Collections.Generic;
using  System.Linq;
using  System.Text;
using  System.Reflection;
using  System.IO;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值