有人可以用C++ / CLI给出简单的MEF示例吗?

最好的祝愿

PS:我尝试转换C#示例,但有困难...例如

CompositionBatch^ batch = gcnew CompositionBatch();
batch->AddPart(this);

在C++ / CLI中,我无法达到CompositionBatch类的AddPart(object attributedPart)类重载方法CompositionBatch ...编译器只看到AddPart(ComposablePart part)方法...实际上我下载了最新的MEF源代码(在C#中),在AddPart(object attributedPart)中找不到任何方法签名,但是Intellisense将我展示为C#项目的扩展,这使我更加困惑。

最佳答案

C++ / CLI不支持这种扩展方法。扩展方法由编译器解析为绝对方法调用。该特定方法是AttributedModelServices类的扩展方法。这样称呼它:

AttributedModelServices::AddPart(batch, this);

10-08 11:00