私はC#の初心者です(私はJavaもよく知っています)、名前空間とクラス/インタフェースの名前を同じにすることで問題が発生しました。タイプ「Project.Node」と名前空間「Project.Node」は、同じ名前が付けられていることにエラーがあるので名前を付けるクラスと名前空間は同じですか?
- Projekt
--> (Interface) Node
--> (Namespace/Folder) Node
-----> (Class): SomethingNode : Node
-----> ...
:
はどう機能しませんがこのです。
なぜ私はそれらを同じ名前にすることを意図しているのかを説明します。インターフェイス「ノード」を実装する多くのクラスがあります。これらのクラスはすべて1つの名前空間に入れる必要があります。だから私は「Node」と名づけてはいけません。インターフェイス "ノード"はプロジェクトのルート名前空間になければなりません。これは他のクラスで使用されているためです。インターフェイス "Node"を "Project.Node.Node"に移動してください。なぜなら、私はインターフェイスを必要とするだけなので、「Project.Node」を常にインポートするのは馬鹿だと思うからです。
私の質問は、この状況をどのように解決すればよいですか?どのようにクラス/名前空間に名前を付けるべきですか?このような状況のために命名規則がありますか?
ありがとうございます。私はこのような別の状況がありますが、インターフェースではありません。私は、他のクラスのリストを含むシングルトンの名前 "Library"を持っていたいと思います。あらかじめ定義されたメソッド(コードライブラリのようなもの)を考えてみましょう。私は意図的に "ライブラリ"に追加できるメソッドのネームスペースにも名前をつけていますが...このような状況で何かできることはありますか、単にネームスペースの別の名前を考える必要がありますか? – MoonShade
かなりかわいいです。しかし、 'トリック'があります。 Pluralisation。 System.Windows。フォームにはフォームタイプが含まれています。私はあなたが名前空間に含まれるものを説明する方が良いと思いますが。LibraryComponentsまたはそれらの行に沿ったもの。 –
インターフェイスの公式な.NET命名ガイドラインはここにあります:http://msdn.microsoft.com/en-us/library/8bc1fexb(v=vs.71).aspx –