【发布时间】:2012-12-20 17:30:18
【问题描述】:
我有 C++ 类,它有一些静态方法。它在 dll 中,即导出类。我需要使用 C# 项目中的静态方法。没有 COM 可以吗?
【问题讨论】:
我有 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++ 项目中。
【讨论】: