【问题标题】:Write a program that accepts plug-ins [duplicate]编写一个接受插件的程序[重复]
【发布时间】:2011-02-11 22:59:31
【问题描述】:

可能重复:
Writing C# Plugin System

能不能写一个接受插件的程序?

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

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

【问题讨论】:

标签: c#


【解决方案1】:

是的。

这就是像MEF 这样的系统的工作方式。

由于您已标记问题 c#,我将使用这些术语,但您可以使用任何语言来执行此操作,只要您可以加载 dll 并询问它。

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

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

【讨论】:

    【解决方案2】:

    绝对有可能。有不同的方法。

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

    或者,您可以在类/方法中添加一个 PluginAttribute 来告诉 C# 应用它是一个插件。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-07
      • 2019-09-14
      • 2012-04-11
      • 2013-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多