反射如何在设计插件时提供帮助

本文关键字:帮助 插件 反射 | 更新日期: 2023-09-27 17:57:26

我读到反射在处理插件时特别有用。有人能强调一下在这种特殊情况下的好处吗?两者都使用C#或Java。

反射如何在设计插件时提供帮助

"在最高抽象级别上,主机应用程序必须能够加载插件,然后与插件通信,以利用其设计的服务。根据开发人员对语言和平台的选择,这两项任务都可以用不同的方式实现。如果选择C#和.NET,则可以使用反射来加载插件、接口或抽象classes可以用作一般通信的手段。"

如果你在谷歌上搜索其中的一些,你可以看到这篇文章并阅读更多内容。

为什么不直接用谷歌搜索呢?

如果。NET中,你可以使用一个接口来创建一个插件的基本布局。让我们称之为"IPlugIn"。然后加载一个具有实现IPlugIn的类的程序集。现在,您可以查看所有类型(如果其中一个是由IPlugIn派生的),或者在程序集上定义Attributes以指示哪个类是插件。

在我看来,插件实现不需要依赖反射。我建议使用常用的接口和服务。为你的插件定义一些接口来实现,并让他们使用服务,帮助他们与你想要提供的框架集成。