C ++ / CLI全局函数可访问性问题

时间:2012-04-17 06:58:38

标签: c# visual-studio-2010 dll c++-cli

当在C#中导入编译的DLL时,如何使C ++ / CLI函数可见?

我可以通过在公共名称之前添加类来完成它,但不是函数的情况,而且在我这样做时会出现语法错误。

我怎么能这样做?

谢谢!

1 个答案:

答案 0 :(得分:9)

你不能,CLR不支持全局功能。您可以使用C ++ / CLI编写它们,但编译器会生成一个特殊的类来为它们提供一个主页。类名为<Module>,无法从C#代码访问。

通过使用公共静态方法声明公共引用类,您将获得完全等效的内容。访问它们没有问题。与C#中的静态类相同,减去检查。您可以通过声明抽象和密封来添加检查:

public ref class Utils abstract sealed
{
public:
    void static foo() {}
};