C で記述された別のプログラムのデータ出力を解析して表示するために、C# で GUI ツールを作成しています。データを解析するには、いくつかの C ヘッダー ファイルで指定されているデータ構造を知る必要があります。したがって、これらの C ヘッダー ファイルを C# プロジェクトに組み込む必要があります。私の質問は次のとおりです。
1) いくつかの調査の後、私のソリューションで新しい C++/CLI プロジェクトを作成し、C ヘッダー ファイルをこの新しいプロジェクトにインポートし、データのシン ラッパーとして機能するいくつかの C++/CLI クラスを記述することが最善の方法であると結論付けました。 C ヘッダー ファイルで定義された構造体を定義し、C# コードから C++/CLI ラッパー クラスを参照します。これが最善のアプローチですか、それとももっと良い方法がありますか?
2) 参照の問題に遭遇しました。問題を説明するための単純化されたコードを次に示します。
C++/CLI プロジェクトの元の C ヘッダー
#define ABC 0x12345
C++/CLI プロジェクトのラッパー クラス
#include "my_c_header.h"
namespace C_Wrappers {
public ref class MyWrapper {
public:
property unsigned int C_ABC {
unsigned int get() { return ABC; }
}
}
}
C# プロジェクトのユーザー クラス
using C_Wrappers;
using System;
namespace DataViewer {
public partial class MainForm : Form {
private MyWrapper myWrapper = new MyWrapper();
public MainForm() {
Console.WriteLine(myWrapper.C_ABC.ToString());
}
}
}
C# プロジェクトでは、C++/CLI プロジェクトへの参照を追加しました (右クリック > [参照の追加] を使用)。ビルド中に C# プロジェクトでエラーが発生しました。
やるべきことはすべてやったと思いました。このエラーを修正するにはどうすればよいですか?