26

Javaでは、ファイル名はそのJavaファイルで定義されているパブリッククラス名である必要があります。C#にも同様の要件がありますか?内部にパブリッククラスBのみを定義するA.csファイルを作成できますか?ありがとう、

4

4 に答える 4

28

いいえ、同様の要件はありません。

はい、あなたはこれを行うことができます。

ただし、これは悪い習慣と見なされます。

これを行うと、Microsoft StyleCopは警告を表示しますが、すべてが正常にコンパイルされます。

于 2010-02-08T20:33:23.140 に答える
26

いいえ、ファイル名がファイルで定義されている単一のパブリッククラスと一致する必要はありません。実際、含まれているファイルの名前と、ファイルで定義されているクラスとの間に関係がある必要はありません。このステートメントの暗黙の意味は、同じ囲みファイルに複数のクラスを定義することさえ可能であるということです(Javaとは異なり、パブリックであるクラスが複数ある場合でも)。partialさらに、キーワードを使用して複数のファイルにまたがるクラスを定義することができます。

ただし、ベストプラクティスは、ファイルごとに1つのクラスを定義し、定義されているクラス(または構造体など)と同じ名前をファイルに付けることです。

于 2010-02-08T20:33:20.227 に答える
3

いいえ、C#では、クラスにファイルと同じ名前を付ける必要はありません。

同様の方針に沿って、複数のpublicクラスをファイルに含めることができます。Javaでは1つしか使用できません。

これは、1つのファイルにいくつかのパブリック列挙型を定義するのに役立ちます。いくつかの小さなクラスの。

ただし、1つのファイルに多くをスローすることはお勧めできません。

于 2010-02-08T20:33:44.793 に答える
2

A.csパブリッククラスを含むファイルを持つことは可能ですBが、それは悪い習慣と見なされます。

于 2010-02-08T20:34:24.293 に答える