我正在开发一个解决方案,其中我有一个 C++ 解决方案和 C# 解决方案必须使用的接口。我想知道:
在以下之间实现这一目标的最佳方法是什么:
- 我在 C++ 项目中使用的 AC# 接口
- 我将在我的 C# 项目中使用的 C++ 接口
您还可以告诉我我应该如何进行最佳解决方案吗?
我从您的最后评论中看到您正在使用托管 C++,因此它是直截了当的,但我会留下这个回复。
C#(构建 COM 类):
[Guid("69432320-04B6-3233-928F-FD8583232C880")]
public interface MyInterface
{
[DispId(1)]
void Method1 (string name);
}
MyInterface myInterface = (MyInterface )new ConcreateClassImplementingInterface ();
本机 C++:
MIDL_INTERFACE("69432320-04B6-3233-928F-FD8583232C880") //note: same guid
{
public:
virtual Method1 (BSTR name);
}
这绝不是完整的,但希望能让您了解所涉及的内容和一些关键术语。