私は、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);
}
これは決して完全ではありませんが、関連する内容といくつかの重要な用語について理解していただければ幸いです。