2

我的工作是从 .NET 3.5 访问 CORBA-server-application。在评估了像 IIOP.Net(未定义状态)和 VisiBroker(昂贵)这样的项目之后,我想“自己”完成它并围绕 C++ 编写一个 .NET-Wrapper-Stubs 生成了我的 Omniidl(Omniorb IDL 到 C++ 生成器)。这意味着围绕非托管 C++ 代码编写某种托管代码 (CLI) 层。

老实说,我不知道如何以最好的方式做到这一点。现在我计划为每个非托管类创建一个托管类。每个托管类本身都有一个非托管类实例的成员,它不是垃圾收集的。这是正确的方法还是我走错了路?

4

1 回答 1

1

根据我的经验,这是解决此问题的一种方法 - 为每个非托管类编写一个包装器 .NET 类。您应该考虑使用代码生成,这样您就不需要编写大量代码。

另一种选择是围绕通用功能创建 .NET 包装器 - 您可以通过使用外观来减少一些工作 - 如果您有多个类需要单个操作或一组操作,您可以创建单个 .NET 类管理所有这些。

于 2010-04-26T08:52:52.807 回答