冗長

2016-07-12 19 views
2

私はASP.NETの開発に新たなんだと私はかなりのディレクティブを使用してについて把握していないものがある...上記のコード例で冗長

using System; 
using System.Data; 
using System.Data.SqlClient; 

、私がするように好奇心とSystem.Data.SqlClientが最初のステートメントusing System;に既に含まれている場合は、明示的にリストする必要があるのはなぜですか。親の名前空間に含まれる名前空間を指定する必要があることは冗長なようです。私はおそらく、この質問には非常に簡単な説明があることを知っていますが、私は私の検索でそれを見つけることができませんでした。

+3

これは、ファイルシステムに複数のフォルダを指定するようなものです。それぞれの名前空間は一意です。 – ManoDestra

+1

[C#で自動的にネストされた名前空間をインポートする]の複製があります(http://stackoverflow.com/questions/9023465/importing-nested-namespaces-automatically-in-c-sharp) –

+1

@ManoDestraファイルディレクトリシステムとして想像してみましょうセンスの束 –

答えて

3
using System; 

には、名前空間System.Dataが含まれていません。それらは別々の名前空間です。したがって、両方の名前空間で定義されたクラスを使用する場合は、両方とも必要です。

+2

同様に、System.DataにはSystemは含まれません。階層は純粋に組織的です – BradleyDotNET

+0

しかし、あなたのコードが名前空間 "System.Data"に存在する場合、 "System"と "System.Data"のすべてが自動的に表示されます。 –