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# 中导入已编译的 DLL 时,如何使 C++/CLI 函数可见?
我可以简单地通过在类的名称前面加上 public 来实现它,但函数不是这样,当我这样做时会出现语法错误。
你不能,CLR 不支持全局函数。你可以用 C++/CLI 编写它们,但是编译器会生成一个特殊的类来给它们一个家。类名是<Module>,不能从 C# 代码访问。
<Module>
通过使用公共静态方法声明公共 ref 类,您将获得完全相同的效果。访问这些没有问题。与 C# 中的静态类相同的想法,减去检查。您可以通过将检查声明为抽象和密封来添加检查:
public ref class Utils abstract sealed { public: void static foo() {} };