在c ++ DLL和C#类之间传递和传回变量

时间:2015-07-23 11:40:19

标签: c# c++ dll marshalling

请参阅this page for more details

我已经实现了MSDN中解释的c ++ DLL示例。该示例允许设计DLL,该DLL暴露2个双值之间的4个基本算术运算。并解释了如何在c ++控制台应用程序中使用此dll。

我的问题是,是否可以在C#控制台应用程序中使用此DLL?如果是的话,我该怎么做?我的意思是将C#控制台应用程序中的2个值发送到c ++ DLL并返回其算术结果。

对于希望同时使用c#和c ++的程序员来说,学习这样的东西非常有趣我想,我是其中之一,因此对于我和未来的人请如果可能的话,提供基于MSDN示例的演示

1 个答案:

答案 0 :(得分:0)

看看here。在User32.dll中调用MessageBox所需的只是这个(来自那里的例子):

[DllImport("User32.dll", CharSet=CharSet.Unicode)] 
public static extern int MessageBox(IntPtr h, string m, string c, int type);

然后你可以像普通的C#方法一样调用它。如果您有更复杂的类型,例如类,请阅读this MSDN article