Как начать писать .Net-оболочку для C ++ Omniorb-заглушек - PullRequest
2 голосов
/ 26 апреля 2010

Моя задача - получить доступ к CPRBA-серверу-приложению из .NET 3.5. После оценки проектов, таких как IIOP.Net (неопределенное состояние) и таких продуктов, как VisiBroker (дорого), я хотел бы сделать это "самостоятельно" и написать .Net-Wrapper для C ++ - заглушки сгенерировали мой Omniidl (генератор Omniorb IDL для C ++ ). Это означает написание некоторого уровня управляемого кода (CLI) вокруг неуправляемого кода C ++.

Мой вопрос: есть ли у кого опыт в этой теме? Я, честно говоря, не знаю, как это сделать наилучшим образом. Прямо сейчас я планирую создать управляемый класс для каждого неуправляемого класса, каждый управляемый класс имеет члена для экземпляра неуправляемого класса, который не является сборщиком мусора. Это правильный способ сделать это, или я на неправильном пути?

Заранее спасибо!

1 Ответ

1 голос
/ 26 апреля 2010

По моему опыту, это один из способов решения этой проблемы - для каждого неуправляемого класса пишите класс-оболочку .NET. Вы должны изучить использование генерации кода, чтобы вам не нужно было писать много кода.

Другим вариантом является создание .NET-оболочек вокруг общей функциональности - вы можете сократить часть работы с помощью фасада - если у вас есть несколько классов, которые вам нужны для одной операции, или для группы операций вы можете создать одну. NET класс, который управляет всеми из них.

...