C#如何实现功能模块化,并自由的添加和却掉功能?

将要用C#做一个大的项目,需要实现以下功能要求:功能必须模块化,所有的功能都可以单独的简单的被添加到主项目中去,例如在进行功能追加的时候不用重新发布EXE文件,而通过动态... 将要用C#做一个大的项目,需要实现以下功能要求:功能必须模块化,所有的功能都可以单独的简单的被添加到主项目中去,例如在进行功能追加的时候不用重新发布EXE文件,而通过动态加载DLL就可以实现。请问有没有这样的实现方法,怎么做比较好? 展开
 我来答
阳光的雷咩咩
2013-12-18 · TA获得超过1.4万个赞
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:7873万
展开全部

这就是插件,主要用到的技术是接口和反射。

  1. 新建一个独立的项目,专门定义一个接口,接口里面最基本的要包含类似run的方法

  2. 在主项目里面引用此接口,然后通过寻找某路径下的dll文件,反射,如果有此接口类型,则添加进界面某列表,供用户选择和调用(你调用接口方法就行)

  3. 对于发布后的每个插件,都要引用接口,实现相应的方法。编译发给用户,放到指定文件夹下,就可以用了。

追问
先谢谢你的回答,调查了一下说反射有点慢,有没有性能好点的方法?
追答
没有影响。
光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
百度网友3831f2b
2013-12-18 · TA获得超过162个赞
知道小有建树答主
回答量:143
采纳率:100%
帮助的人:94.5万
展开全部
你可以去参考一下bolgengine.net的设计思想,这套源码中,采用了外挂widget的方式,使得后续开发的功能很容易被签入到已有项目中。
追问
嗯,好的,我去查一下。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式