Visual C++ で MFC アプリケーションを作成し、1 つの C# ライブラリを使用しています。アンマネージ クラスとマネージ クラスおよび変数を結合します。アプリ全体からアクセスできるようにするには、グローバル スコープとの間で書き込みおよび読み取りを行う C# のマネージド クラスが必要です。私が試した(簡単な例):
App.h:
class MyClass1 {
public:
gcroot<Namespace::Something^> var;
};
class MyClass2 {
public:
static gcroot<Namespace::Something^> var;
};
extern MyClass1 *cl1;
App.cpp
MyClass1 *cl1 = new MyClass1();
「cl1->var」を使用すると、System.NullReferenceException、MyClass2 return エラーが発生します
error LNK2020: unresolved token (0A0003BE) "public: static struct gcroot ...
error LNK2001: unresolved external symbol "public: static struct gcroot ...
アプリ全体で「Something^ var」を使用する方法を教えてください。