将版本添加到现有DLL维护向后兼容性

时间:2017-05-30 14:53:43

标签: c#

我有一个产品,我需要在我们的核心级组件中添加动态版本,以便主应用程序可以在允许执行某些操作之前检查版本不一致。一些背景:

  • 所有组件都实现了我已定义的界面
  • 组件没有派生的基类,它们都直接实现根接口
  • 我可以向界面添加新的int Version属性和/或方法
  • 我需要保持与已经“在野外”并部署的DLL的向后兼容性。如果DLL没有实现版本检查API(因为它的旧版本),假设它将正常工作

所以我想在接口中添加bool CheckVersion()方法,然后在调用之前检查该方法是否存在。如果该方法不存在,那么就不要调用它。

我不喜欢检查方法是否存在的想法,因为它很昂贵并且使代码混乱(例如,“为什么需要进行这种奇怪的调用检查?”)

任何人都有更好的想法吗?

0 个答案:

没有答案