私は非常に長い間 C#.net を使用してきましたが、最近、C++/CLI に切り替えることが有益であると判断しました。そこで、コンバーターを入手して、大規模なプロジェクトの 1 つを C++/CLI に変換することにしました。非常に優れたコンバーターを見つけましたが、いくつかの大きな問題がありました。
C# プロジェクトに含まれていたすべての非静的クラスについて、コードが新しいインスタンスを作成するたびに、コンパイラでエラーが発生しました。「型指定子がありません - int と仮定されます...」 すべてのクラスにタイトルが付けられているpublic ref class ClassName : BaseClassName
これも、静的であるはずのクラスと静的ではないはずのクラスの両方がこのようにタイトル付けされているため、非常に混乱します。
コンバーターは、コード内の場所に次のようなコメントも残しました。
//C++ does not allow initialization of non-static fields in their declarations:
これらは常に、元の非静的クラスの 1 つにあり、常に
Type VariableName
orが続きます。Type ^VaribleName
C++/CLI クラスがどのように機能するかを明らかに理解していないので、私の質問は次のとおりです。C# と C++/CLI の動的クラスの違いは何ですか? 動的な C++/CLI クラスを作成するにはどうすればよいですか? また、何が間違っている可能性がありますか? C++/CLI では、C# で天気が静的であるかどうかにかかわらず、すべてのクラスに "ref" というプレフィックスが付いているのはなぜですか? また、ひょっとして、これは 1 つのファイルに複数のクラスがあることと関係がありますか?
さらに情報が必要な場合は、教えてください。