2010-04-26 1 views
2

제 작업은 .NET 3.5에서 CPRBA-server-application에 액세스하는 것입니다. IIOP.Net (정의되지 않은 상태)와 같은 제품을 평가 한 후 VisiBroker (비싼)와 같은 제품을 "나 혼자서"작성하고 C++에서 .Net-Wrapper를 작성합니다. - 스텁이 Omniidl을 생성했습니다 (Omniorb IDL을 C++ 생성기로 생성 함).). 이는 관리되지 않는 C++ 코드 주위에 일종의 관리 코드 (CLI) 계층을 작성하는 것을 의미합니다.C++ Omniorb-stubs 주위의 .Net-wrapper를 작성하려면 어떻게해야합니까?

내 질문은 :이 주제에 경험이있는 사람이 있습니까? 솔직히 최선의 방법을 모릅니다. 지금은 모든 관리되지 않는 클래스에 대해 관리되는 클래스를 만들 계획입니다. 각 관리되는 클래스에는 자체가 관리되지 않는 클래스의 인스턴스에 대한 멤버가 있습니다.이 멤버는 가비지 수집되지 않습니다. 이것이 옳은 길입니까 아니면 잘못된 길 위에 있습니까?

미리 감사드립니다.

답변

1

내 경험에 의하면이 문제를 해결하는 한 가지 방법입니다. 관리되지 않는 모든 클래스는 래퍼 .NET 클래스를 작성합니다. 코드 생성을 사용하여 많은 코드를 작성할 필요가 없도록해야합니다.

또 다른 옵션은 일반적인 기능을 중심으로 .NET 래퍼를 만드는 것입니다. 하나의 작업 또는 작업 그룹에 필요한 여러 클래스가 있으면 단일 작업을 만들 수 있습니다. 그것들 모두를 관리하는 .NET 클래스.

+0

답변 해 주셔서 감사합니다. "모든 것을 래핑하는"것은 너무 많은 노력을 기울여야한다고 생각합니다. 어떤 종류의 외관을 작성하고 따라서 필요한 메서드와 구조체 만 래핑하면보다 합리적으로 들립니다. 코드 생성 소리도 복잡합니다. 작업을 수행 할 수있는 코드 생성기를 알고 계시나요? :) – Superfisi

+0

코드 생성을 위해 Code smith (http://www.codesmithtools.com/)를 사용할 수 있습니다. –

관련 문제