为标题道歉,我被卡住了
我在 MEF 池塘里踮起脚尖。到现在为止还挺好。我有一个主机应用程序和几个导出东西的“插件”程序集。宿主应用程序定义了一个名为的属性,该属性DescriptionAttribute
继承自ExportAttribute
并具有一个简单的Name
属性。我的测试表格有一个<ImportMany>
IEnumerable(Of Lazy(Of IDoStuff, IDescriptionAttribute))
. 这被 MEF 很好地填满了,我可以在收藏中旋转,Name
财产被填满,生活是金色的。稍后我会将内容拆分为单独的程序集,目前这只是一个概念证明。
现在,问题是:有什么方法可以公开实现的程序集版本,IDoStuff
通过我拥有的属性DescriptionAttribute
佩戴“插件”类?DescriptionAttribute
到目前为止,我将其传递给属性构造函数的所有尝试都失败了,工作室一直告诉我需要一个常量表达式(可以理解)。我可以通过 IDoStuff 接口公开它,但是将它作为DescriptionAttribute
属性的一部分会更好,“感觉”更好。我也可以对其进行硬编码,但这是我在发布“插件”的新版本时忘记更新的另一个地方:-)