Javaでは、ファイル名はそのJavaファイルで定義されているパブリッククラス名である必要があります。C#にも同様の要件がありますか?内部にパブリッククラスBのみを定義するA.csファイルを作成できますか?ありがとう、
4 に答える
いいえ、同様の要件はありません。
はい、あなたはこれを行うことができます。
ただし、これは悪い習慣と見なされます。
これを行うと、Microsoft StyleCopは警告を表示しますが、すべてが正常にコンパイルされます。
いいえ、ファイル名がファイルで定義されている単一のパブリッククラスと一致する必要はありません。実際、含まれているファイルの名前と、ファイルで定義されているクラスとの間に関係がある必要はありません。このステートメントの暗黙の意味は、同じ囲みファイルに複数のクラスを定義することさえ可能であるということです(Javaとは異なり、パブリックであるクラスが複数ある場合でも)。partial
さらに、キーワードを使用して複数のファイルにまたがるクラスを定義することができます。
ただし、ベストプラクティスは、ファイルごとに1つのクラスを定義し、定義されているクラス(または構造体など)と同じ名前をファイルに付けることです。
いいえ、C#では、クラスにファイルと同じ名前を付ける必要はありません。
同様の方針に沿って、複数のpublic
クラスをファイルに含めることができます。Javaでは1つしか使用できません。
これは、1つのファイルにいくつかのパブリック列挙型を定義するのに役立ちます。いくつかの小さなクラスの。
ただし、1つのファイルに多くをスローすることはお勧めできません。
A.cs
パブリッククラスを含むファイルを持つことは可能ですB
が、それは悪い習慣と見なされます。