我正在开发一个解决方案,其中有一个C#接口需要被C++解决方案和C#解决方案使用。
我想知道:
在以下两种方式之间,哪一种是最好的实现方法:
- 在C++项目中使用C#接口 - 在C#项目中使用C++接口
另外,您能告诉我如何为找到最佳方案进行操作吗?
在以下两种方式之间,哪一种是最好的实现方法:
- 在C++项目中使用C#接口 - 在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);
}