1

重複
の可能性: C# から C++ コードを呼び出すことは可能ですか?

私はいくつかの静的メソッドを持つC++クラスを持っています。クラスをエクスポートするのはdllにあります。C# プロジェクトの静的メソッドを使用する必要があります。COMなしでできますか?

4

2 に答える 2

2

COMはそれを行う良い方法です(COMが静的メソッドをサポートしていないという事実を除いて...)

もう 1 つの方法は、次のようにクラスを C++/CLI マネージ クラスに変換することです。

public ref class MyClass
{
public:
    static void StaticMethod()
    {
        ...
    }
};

DLL 内の C++/CLI マネージ クラスは、C# クラスであるかのように C# から認識されます。

C++ プロジェクトを C++/CLI プロジェクトに変換したくない場合は、アンマネージド クラスをアンマネージド C++ プロジェクトにラップするだけのマネージド クラスを含む C++/CLI プロジェクトを作成できます。

于 2012-12-20T17:47:39.420 に答える
1

あなたには2つの方法があります:

ネイティブ C++ dll をC++\CLIでラップするか、PInvokeを使用する

于 2012-12-20T17:45:04.627 に答える