任何人都可以告诉我如何从方法中返回一个String数组并在c#中使用它吗?
假设我必须返回{one,two,..... ten}的数组,并且在c ++中我必须显示它 控制台上的数组并执行一些操作。
答案 0 :(得分:1)
请点击此处查看示例:http://haroonsaeed.wordpress.com/2006/08/11/interop-managed-c-and-c/
不是我的自己,而是猜测:
在C#中使用以下类创建名为csharpassembly.dll的程序集
using System;
namespace Csharpassembly {
public class CSharpClass {
public static string[] GetStrings() {
return new string[] {"1", "2", "3"}));
}
}
}
但在你的情况下。有一个在c#中创建数组的程序集,并且有一个mC ++程序引用这个程序集并调用它:
#include "stdafx.h"
#using <mscorlib.dll>
#using "csharpassembly.dll"
using namespace System;
using namespace Csharpassembly
__gc class Test {
public:
static void ProcessCShaperStrings() {
array^ stringArray = CSharpClass::GetStrings();
Console::WriteLine(stringArray [0]); ...
// etc
}
};
int wmain(void) {
Test:: ProcessCShaperStrings();
return 0;
}