C#のは.csファイル名とクラス名が一致する必要がありますか?
質問
Javaでは、ファイル名は、そのJavaファイルで定義されたパブリック・クラス名でなければなりません。 C#が同様の要件を持っていますか?私は内部のパブリッククラスBを定義するA.csファイルを持つことができますか?おかげで、
解決
いいえ、同様の要件はありません。
はい、あなたがこれを行うことができます。
これはしかし、悪い習慣と見なされます。
あなたがこれを行う場合は、Microsoft StyleCopはあなたに警告しますが、すべてが正常にコンパイルされます。
他のヒント
いいえ、ファイル名がファイルで定義されている単一のパブリッククラスに一致する要件はありません。実際には、それが入っているファイルの名前とファイルで定義されている任意のクラス間の関係を持っている必要はありません。この文では暗黙の(Javaのとは違って、公開されて複数のクラスがある場合でも)同じ囲んファイルに複数のクラスを定義することも可能であるということです。また、 partial
に使用して、複数のファイル間でクラスを定義することが可能ですキーワードます。
ベストプラクティスは、しかし、ファイルごとに1つのクラスを定義し、ファイルを(等または構造体)クラスと同じ名前を付けるために定義されている。
いいえ、C#で、あなたのファイルと同じクラスに名前を付ける必要はありません。
と同様の線に沿って、あなたはファイル上で複数のpublic
クラスを持つことができます。 Javaは唯一のあなたは1を持っていることができます。
これは、1つのファイルにいくつかの公共の列挙型を定義するための参考にすることができます。いくつかの小さなクラスのます。
これは、1つのファイルにあまりをスローするようにしかし、悪い習慣です。
パブリッククラスA.cs
が含まれていますが、悪い習慣と見なされたファイルB
を持つことが可能です。