C# 编写一个接受插件的程序

C# 编写一个接受插件的程序,c#,C#,可能重复: 是否可以编写一个接受插件的程序? 我的程序应该检查一些DLL被复制的文件夹,然后查看这些文件并获取主程序传递给这些DLL包含的函数的开关参数 我正在写一个程序,检查一些网站上的新工作机会,如果阅读每个网站的功能包含在不同的URL中,那将是完美的。如果可能的话,当这些网站发生变化时更新程序将非常容易。是的 这就是系统的工作原理 正如您标记问题c一样,我将使用这些术语,但您可以使用任何语言,只要您可以加载dll并查询它 您可以创建一个框架来查找公开某些接口的程序集。如果它们存在,请加载

可能重复:

是否可以编写一个接受插件的程序?

我的程序应该检查一些DLL被复制的文件夹,然后查看这些文件并获取主程序传递给这些DLL包含的函数的开关参数

我正在写一个程序,检查一些网站上的新工作机会,如果阅读每个网站的功能包含在不同的URL中,那将是完美的。如果可能的话,当这些网站发生变化时更新程序将非常容易。

是的

这就是系统的工作原理

正如您标记问题c一样,我将使用这些术语,但您可以使用任何语言,只要您可以加载dll并查询它

您可以创建一个框架来查找公开某些接口的程序集。如果它们存在,请加载它们


要创建插件,请实现所需的接口,并将dll放入可以找到它的位置。

这是完全可能的。做这件事有不同的方法

一种方法是创建一个接口,例如IPlugin,它可能有init(设置、注册插件等)、execute(运行命令、传递参数、返回值)和unload方法

或者,您可以在类/方法上添加一个PluginAttribute,告诉C#app它是一个插件


应用程序可以使用反射并在程序集中查找插件类。

搜索stackoverflow和google…您可能也会发现这很有趣