C++ と C# の間で文字列を渡すために推奨される方法は何ですか? 関数の 1 つがパラメーターとして取る C++ クラスがあります。const char var1 and const char var2[]
C# でそのような関数を呼び出すと、関数は引数の型を sbyte* として受け入れます。C# の関数には sbyte* と sbyte** が必要なため、ac#-string を使用するだけでは機能しないようです。
C++ クラス:
public ref class MyClass
{
public:
void Sample(const char * var1,const char* Var2[]);
}
C# 呼び出し...
class Program
{
static void Main(string[] args)
{
MyClass oClass = new MyClass();
string var1 = "Variable1";
string[] var2 = {"1","2"};
oClass.Sample(var1,var2);
}
}
エラー: エラー 1 引数 1: 'string' から 'sbyte*' に変換できません エラー 2 引数 2: 'string[]' から 'sbyte**' に変換できません
マネージド C# からマネージド C++ に文字列引数を渡す方法を理解するのに助けが必要ですか?