0

このリンクとして CLI を使用して C++ から C# DLL を呼び出そうとしています: http://tom-shelton.net/index.php/2008/11/01/calling-managed-code-from-a-dll-created -in-visual-c-2008/

すべてが順調に見えます。

しかし、C# 関数に Hashtable パラメーターがある場合、それを呼び出す方法がわかりません。C# 関数は次のようになります。

public void DoSomething(Hashtable htb,int,string etc)

この種の C# 関数を C++ で使用する方法を教えてください。

よろしくお願いします

ジョン

4

2 に答える 2

1

何度か失敗した後、このように解決することにしましたクラスを宣言します

Class WrappedWhateverClass
{
private:
gcroot <CSharpClass ^> _caller;
public:
    gcroot <Hashtable^> htb;
void WrappedWhateverClass()
int DoSomethinginC( int , string, etc);
}

コードでは、C# の DoSomething 関数を呼び出します。

void WrappedWhateverClass::WrappedWhateverClass()
{
htb = gcnew Hashtable();
}
int WrappedWhateverClass::DoSomethinginC( int i, string str, etc)
{
_caller->DoSomething(htb,i,str, etc);
}
于 2013-07-17T09:12:39.873 に答える