Чистое приложение Win32 API (без фреймворков), требуется доступ к компоненту .NET - PullRequest
2 голосов
/ 28 июня 2011

Какая оптимальная техника?Завернуть компонент .NET (класс написан на .NET 3.5) в COM и создать экземпляр в Win32?У компонента есть события, поэтому он должен поддерживать управляемые компонентом обратные вызовы в приложение Win32 API.

Ответы [ 2 ]

1 голос
/ 01 июля 2011

Единственное решение, которое соответствует вашим требованиям - это COM.

1 голос
/ 01 июля 2011

Это зависит от ваших предпочтений и от того, как настроен компонент .NET.

Обертывание в COM работает нормально и дает вам объектный интерфейс, который обычно хорош.Вы также получаете библиотеку типов, которая хороша, если интерфейс сложен.

Для API с простым интерфейсом я обычно предпочитаю делать обертку в C ++ / CLI.Затем оболочка имеет прямой доступ к компоненту .NET, и вы можете легко экспортировать функции оболочки с помощью __declspec (dllexport).Часто этот тип оболочки настраивать быстрее, чем настраивать COM.

Вот несколько ссылок, которые могут оказаться полезными:

http://www.codeproject.com/KB/dotnet/bridge.aspx

Как использовать управляемый код из неуправляемого кода?

...