我想创建一个包含带有一些参数的方法的C ++项目。我想在C#中调用这个函数。
我的c ++对象应该是这样的。
String DoSomething(String param1, String param2)
{
String Result="";
//do something
return Result;
}
我知道如何在c#中使用DllImport用于c ++方法。但是,我找不到如何在C#代码中将参数传递给C ++方法并得到它的结果。
答案 0 :(得分:1)
如果你的C ++ DLL都是本机的(没有/CLR
),那么你需要__declspec(dllexport)
这些函数(最好用“C”导出)。此外,您需要使用DllImport
属性在C#代码中导入它们。这也意味着,函数的参数和返回类型必须简单(即它们不能是C ++ string
,也不能是.NET System.String
)。
如果使用/CLR
开关编译此DLL,生活会变得更容易( perpective!) - 只需拥有一个托管类ref class
。这样,您需要将此DLL(现在是.NET程序集)添加到C#项目的引用中。