我已经使用 C#.net 很长时间了,最近我决定切换到 C++/CLI 会有所帮助。所以,我决定买一个转换器并将我的一个较大的项目转换为 C++/CLI,我找到了一个非常好的转换器,只有几个大问题:
对于我在 C# 项目中的每个非静态类,只要代码创建它的新实例,编译器就会出现错误。“缺少类型说明符 - 假定为 int...” 所有类的标题都是public ref class ClassName : BaseClassName
这样的,这也很令人困惑,因为应该是静态的类和不应该是静态的类都是这样命名的。
转换器还在代码中这样说的地方留下了注释:
//C++ does not allow initialization of non-static fields in their declarations:
这些总是在我原来的非静态类之一中,并且总是跟着
Type VariableName
orType ^VaribleName
因此,显然我不了解 C++/CLI 类是如何工作的,所以我的问题是:C# 和 C++/CLI 中的动态类有什么区别?如何制作动态 C++/CLI 类,我可能做错了什么?为什么 C# 中的所有类(无论是否为静态天气)都在 C++/CLI 中以“ref”为前缀?另外,这是否与在一个文件中包含多个类有关?
如果您需要更多信息,请告诉我。