我是新手,所以如果这是一个简单的问题,请原谅我。我想创建一个服务,允许第三方为其创建插件dll。 dll的目的只有一个 - 通过GetData()方法返回一个类型的数据,该方法可能与每个插件有所不同。
一个插件可能想要返回一个String,另一个插件可能想要返回一个Int32,另一个插件可以返回一个Int64的数组......等等。
我正在考虑创建一个每个插件可以派生出来的抽象基类。基类上有几种方法 - Startup(),Shutdown()和GetData()。我的服务会在每个插件上定期调用GetData()。
什么是定义抽象基类的更好方法,更具体地说是GetData(),以便每个派生的插件类可以返回不同的数据类型?我应该使用泛型吗?
谢谢。
答案 0 :(得分:0)
使用IOC容器,例如 -
和其他人。这些都是为了支持这种实现 -
我通常使用MEF和Castle.Windsor来实现这种情况。我有一篇关于MEF的博客文章。可能会帮助你