【问题标题】:Creating my own plug-ins for my own project in C# [closed]在 C# 中为我自己的项目创建我自己的插件 [关闭]
【发布时间】:2010-03-05 15:10:09
【问题描述】:

我正在做一个 C# 项目,它是关于电子学习的。这个项目应该使用插件作为它的主要输入,没有它们就无法运行。 我不知道如何使用插件,我不知道如何在我的程序中编译插件,或者如何在我的应用程序中安装它们。 我在这里询问参考资料,或任何可以帮助我解决此问题的有用想法。

【问题讨论】:

标签: c# plugins


【解决方案1】:

首先创建一个插件接口:

public interface IPlugIn
{
    // Your stuff here
}

然后您可以将您的界面分发给从事插件工作的开发人员。

当您的应用程序启动时,它可以动态加载所有插件程序集,然后通过IPlugIn 接口使用它们,而无需了解每个插件的内部情况。

更新

我实际上找到了一篇文章,它通过更详细的示例更深入地描述了我描述的过程。你可以在这里查看:

Writing Plugin-Based Applications in .NET

还有一个额外的好处......它带有代码示例!

【讨论】:

  • 非常感谢,我想我会用这个简单的方法,如果你有更多的经验或参考,请告诉我,再次感谢:)
【解决方案2】:

如果您的插件不太复杂,您可以避免使用 MEF 等可扩展性框架。

  1. 您为插件定义合同。它应该是公共接口,或者可能是具有抽象/虚拟方法的类。您应该将其移动到单独的程序集并分发给插件开发人员
  2. 开发人员实现接口并生成程序集
  3. 使用Assembly.Load 在运行时加载。
  4. GetTypes列出类型
  5. 查找实现您的接口的类型
  6. Activator.CreateInstance
  7. 玩得开心

【讨论】:

    猜你喜欢
    • 2018-10-22
    • 1970-01-01
    • 2013-12-30
    • 2014-09-03
    • 2013-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多