C# 动态加载插件的实现

本文介绍了如何在C#中实现动态加载插件的功能,以达到类似Photoshop添加滤镜的效果。主要步骤包括定义公共接口、创建插件类库和主程序加载插件。在主程序中,通过遍历指定目录下的DLL文件,加载符合接口规范的插件,并能在用户界面上进行交互操作。
摘要由CSDN通过智能技术生成

花了半天时间,终于弄懂了C#如何现实动态加载插件的。就像photoshop一样只要在plugin里面丢几个dll就可以多一个滤镜。

总体思路必将简单

1.必须定义公共接口规范,说白点就是主程序在调用插件时会用到方法、属性、函数等等。有点类似于组织架构的岗位名称,岗位是固定的,任职要求(参数)也是固定的,只是人不一样而已。

实现方法:

新建一个类库

namespace MainPlug

{

    public interface IMainPlug

    {

        void strat(string buttonname);

        string F();

    }

}

完了F5生产DLL

2.做插件,也很简单

新建一个类库,添加刚刚生成的DLL,本例为MainPlug.DLL

 

using System;

using System.Text;

using MainPlug;

using System.Windows.Forms;

namespace Plug1

{

    public class myplug1 : Form, IMainPlug

    {

        public void strat(string buttonname)

        {

            Form f1 = new Form();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值