Простой пример MEF в C ++ / CLI - PullRequest
1 голос
/ 05 января 2011

Кто-нибудь может привести простой пример MEF в C ++ / CLI?

С наилучшими пожеланиями

PS: я пытаюсь преобразовать примеры C #, но у меня есть трудности ... Например,

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

В C ++ / CLI я не могу достичь CompositionBatch перегруженный класс * метод AddPart(object attributedPart) из CompositionBatch ... Компилятор просто видит AddPart(ComposablePart part) метод ... Фактически я загрузил последний источник MEF (в C #) , in не может найти сигнатуру метода с AddPart(object attributedPart), но Intellisense показывает меня как расширение в проекте C #, что меня смущает больше ...

1 Ответ

1 голос
/ 05 января 2011

C ++ / CLI не поддерживает методы расширения таким образом.Методы расширения разрешаются компилятором в вызовы абсолютных методов.Этот конкретный метод является методом расширения класса AttributedModelServices.Назовите это так:

AttributedModelServices::AddPart(batch, this);
...