如何在c#中创建带参数的c ++方法?

时间:2015-07-04 08:37:40

标签: c# c++ dllimport

我想创建一个包含带有一些参数的方法的C ++项目。我想在C#中调用这个函数。

我的c ++对象应该是这样的。

String DoSomething(String  param1, String  param2)
{
     String Result="";

     //do something

     return Result;
}

我知道如何在c#中使用DllImport用于c ++方法。但是,我找不到如何在C#代码中将参数传递给C ++方法并得到它的结果。

1 个答案:

答案 0 :(得分:1)

如果你的C ++ DLL都是本机的(没有/CLR),那么你需要__declspec(dllexport)这些函数(最好用“C”导出)。此外,您需要使用DllImport属性在C#代码中导入它们。这也意味着,函数的参数和返回类型必须简单(即它们不能是C ++ string,也不能是.NET System.String)。

如果使用/CLR开关编译此DLL,生活会变得更容易( perpective!) - 只需拥有一个托管类ref class。这样,您需要将此DLL(现在是.NET程序集)添加到C#项目的引用中。