我正在 WPF C# (Visual Studio 2008) 中为用 c++ 编写的数学模型实现 GUI。我可以在单个 VS 解决方案中完全访问两个项目的源代码
我的问题是:
- 是否可以从 C# 调用 C++ 中的方法?
- 如果是,最好的选择是什么?
- 我需要在 C++ 中做什么来“公开”该方法?
我曾尝试“添加参考”,但我认为它不会像这样工作。
有多种选择。
最简单的选择通常是使用 C++/CLI 为您需要的 C++ 方法创建一个包装器。然后,您可以从 C# 项目中添加对 C++ DLL 的引用,并正常使用它。
或者,您可以通过 C API 公开所需的 C++ 方法,然后使用 P/Invoke 从 C# 调用它们。
如果你有一个 C++ 库 (.dll),你可以像这样在 C# 中使用它:
[DllImport("filename.dll")]
public static extern void MethodName(ParameterList);
然后你可以调用MethodName(...)
你的 C# 代码。