我正在使用MEF来允许用户扩展我的C#库.它到目前为止工作得很好,但是现在我正试图以我以前没见过的方式使用它.
我到目前为止看到的MEF的主要用例是:
>应用程序公开原始接口(IPerson)
>外部库使用MEF和原始接口来扩展主库的功能(例如IPoliceman:IPerson,添加功能)
>然后,应用程序使用ImportMany搜索正确的IPerson,具体取决于它必须执行的操作
但我需要这样的事情:假设我有一个税收计算器,它接受一堆参数并根据这些参数返回估计税.我希望用户能够使用MEF创建插件来修改这些计算的完成方式.应该只能在任何时候加载一个执行此操作的插件.否则,我如何决定使用哪种替代实现?