私は、混合DLLを参照するアプリケーション(CLI)を持っています。 DLLは静的関数を持つ "ref"クラスを実装しています。ここでC++でref-class関数を呼び出す(混合コード)
がEXE内REF-クラスの(部分)コード
public ref class AAA
{
public:
static bool Write(System::String^ sz);
// Not accessible!!!
public: static BOOL TraceRect(const CRect& rc);
};
で、C++のコードで、私は両方の機能を呼び出すようにしようとしている:
// This works
AAA::Write("hello");
// This doesn't !!!
CRect rc(0, 0, 12, 234);
AAA::TraceRect(rc);
どのようにすることができます私は2番目の関数にアクセスしますか?
これはC++のようには見えません。 –
'C++ - cli'タグが追加されました。これはもっと役立つでしょう。 – Xeo
ただの推測ですが、マネージクラスの静的メソッドにアンマネージデータ型を配置しました。さらに、 'const'はCLRでサポートされていないので、クラスをILにコンパイルするときにどのように解釈するのかよくわかりません。私はあなたの公開されていない静的メソッドを、管理されたクラスに入れるのではなく別の場所に分割します。 –