托管c+中的c#方法+;
我正在创建一个c#dll库来扫描进程内存。 我有一个静态方法:托管c+中的c#方法+;,c#,memory,managed-c++,C#,Memory,Managed C++,我正在创建一个c#dll库来扫描进程内存。 我有一个静态方法: int searchASCII(int pid, SByte[] text, int pos) { ReadProcessApi RApi = new ReadProcessApi(pid, pos); return RApi.ASCIIScan(text); } 希望在VisualC++中实现它的使用。 如果我想在c++中调用这样的方法,text p
int searchASCII(int pid, SByte[] text, int pos)
{
ReadProcessApi RApi = new ReadProcessApi(pid, pos);
return RApi.ASCIIScan(text);
}
希望在VisualC++中实现它的使用。 如果我想在c++中调用这样的方法,text param应该使用哪种类型:
搜索ASCII((int)pid,(char[])文本,(int)位置)
在当前场景中,我得到一个错误:
"cannot convert parameter from 'char [6]' to 'cli::array<Type,dimension> ^' "
“无法将参数从'char[6]'转换为'cli::array^'”
如果要在C++\CLI中调用C#函数,则需要使用相同的类型。C#中的数组实际上是C++\cli中的cli::array
。您将不能将C++(代码> > char [] /代码>转换为<代码> CLI:ARDUCTOR/<代码>。我想看看MSDN上的本机\托管
要从C++\CLI调用函数,必须创建如下数组:
cli::array<System::SByte> ^text = gcnew cli::array<System::SByte>(/* some_size */);
cli::array^text=gcnew cli::array(/*some_size*/);
检查一下post是错误的。它是C++/CLI,MC++是另一种没有数组的语言。