当在C#中导入编译的DLL时,如何使C ++ / CLI函数可见?
我可以通过在公共名称之前添加类来完成它,但不是函数的情况,而且在我这样做时会出现语法错误。
我怎么能这样做?
谢谢!
答案 0 :(得分:9)
你不能,CLR不支持全局功能。您可以使用C ++ / CLI编写它们,但编译器会生成一个特殊的类来为它们提供一个主页。类名为<Module>
,无法从C#代码访问。
通过使用公共静态方法声明公共引用类,您将获得完全等效的内容。访问它们没有问题。与C#中的静态类相同,减去检查。您可以通过声明抽象和密封来添加检查:
public ref class Utils abstract sealed
{
public:
void static foo() {}
};