最近在搭一个框架,就是这个程序的大部分都是我自己编写的,但要实现某功能的一个函数留给用户自己编写,编写后要求能加入我之前写的大部分程序,从而组成一个完整的程序再运行。要怎样才能实现?
简单的说,比如我要做一个温度控制软件,控制算法有很多种,我就想把控制算法这块空出来,然后在运行的时候,再编写控制算法,然后插到之前的空白处,点击按钮,重新运行,求助各位大佬。
以上几位可能没有理解你的意图。我估计你并不是要用户以插件或者组件方式增强你的软件功能,而是希望用户编写一段代码,提供一些自定义功能。这实际上涉及到动态编译和执行问题。不过这个问题也是可行的, 你需要了解一下C#编译器引擎或者python引擎之类的知识。后者实现起来更简单,需要用户用python语法实现一些功能,然后你用python引擎动态运行获取运行结果,再进行进一步的处理。
自定义查询,通过前台动态让用户编写javascript脚本实现用户自己的功能,后台解析前台传入的js脚本再加上自己的业务处理逻辑即可实现
做一个接口,接口里面做方法或属性声明,用户类只需要继承这个接口,然后实现每一个方法,你只需要调用这些接口就可以了,类似C++里面的虚函数
预留程序接口,framework库有这个方法
C#现在支持动态语言了.
百度一下吧