c# - 在C++中定义一个需要在C#和C++中实现的接口(interface)

标签 c# .net c++ interop interface

我有一个用 C++ 定义的接口(interface),现在需要用 C# 实现。最好的方法是什么?我根本不想在我的接口(interface)定义中使用 COM。我现在解决这个问题的方法是有两个接口(interface)定义,一个在 C++ 中,一个在 C# 中。然后,我将 C# 接口(interface)公开为 COM 服务器。这是我用 C++ 编写的应用程序可以调用 C#。无论如何我可以避免在 C++ 和 C# 中定义我的实现吗?

最佳答案

如果您愿意为托管代码使用 C++/CLI 而不是 C#,那么您可以直接通过头文件使用 native C++ 接口(interface)定义。这将有多容易将完全取决于您的界面中的内容 - 最简单的情况是您可以从 C 中使用的内容。

看看 Marcus Heege 的 Expert C++/CLI: .NET for Visual C++ Programmers ,了解有关在 .NET 中混合 native 和托管 C++ 的大量有用信息。

关于c# - 在C++中定义一个需要在C#和C++中实现的接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64645/

相关文章:

c++ - 在简单的层次结构中重新定义深度复制/删除/赋值

c# - 从 Web 浏览器页面获取数据到 wpf 应用程序

c# - 带有 2 个表的 WPF TreeView(分层数据模板)

c# - WPF 中的基类 DependencyProperty 值更改

.net - 从 SpecFlow 设置 Nunit TimeoutAttribute

c# - .NET 应用程序在长时间不活动后速度非常慢

c++ - 指定具有 3 个组件的 STL 映射键

c++ - 如何访问单个 TListViewItem 上的文本按钮

Lego Mindstorm NXT 的 C# 库

c# - 具有平滑循环的C#音频库?