Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
可能重复: 可能从 C# 调用 C++ 代码?
我有 C++ 类,它有一些静态方法。它在 dll 中,即导出类。我需要使用 C# 项目中的静态方法。我可以在没有 COM 的情况下做到这一点吗?
COM 将是一个很好的方法(除了 COM 不支持静态方法的事实......)
另一种方法是将类转换为 C++/CLI 托管类,如下所示:
public ref class MyClass { public: static void StaticMethod() { ... } };
DLL 中的 C++/CLI 托管类对 C# 可见,就像它是 C# 类一样。
如果您不想将 C++ 项目变成 C++/CLI 项目,则可以创建一个包含托管类的 C++/CLI 项目,该托管类只是将非托管类包装在非托管 C++ 项目中。
你有两种方法:
使用C++\CLI或使用PInvoke包装本机 C++ dll