2012-04-21 12 views
1

私は人々がようなものの膨大なリストを置くために使用し、C#のプログラムの多くに気づく:C#で参照ライブラリを宣言することの利点は?

using System; 
using System.Collections.Generic; 
using System.Collections.Specialized; 
using System.Diagnostics; 
using System.Drawing; 
using System.Drawing.Drawing2D; 
using System.Drawing.Imaging; 
using System.Drawing.Text; 
using System.Windows.Forms; 
using System.IO; 
using System.Xml.Linq; 
using System.Xml.XPath; 
using System.Net; 
using System.Web; 

このようなものをすることの利点は何ですか?つまり、System.Xml.XPath.XElement.Parse()ではなく、単に「XElement.Parse()」を置くことができます。しかし、他にどんな利点がありますか?短い手以外にも本当に利点はありますか?

欠点はありますか?

+2

Nope。それ以上のことはありません。 – SimpleVar

+4

これは参照ライブラリとは関係ありません。あなたはアセンブリを名前空間と混同しています。 –

+2

しかし、 "ショートハンド"は本当に大きな "利点"です。 System.ServiceModel.Security.Tokens.InitiatorServiceModelSecurityTokenRequirementはしばらくしてから入力することになります。 – Inisheer

答えて

3

は、私は多くの読み取り可能なコードを作る以外に考えることができる唯一の事はこれです:短いカスタム名与える

using Num = System.Numerics.BigInteger; 

異なる名前空間にある特定のクラスに対して 異なる名前空間にある同じ名前のクラス間の混乱を避けるのにも役立ちます。

1

名前空間を持つアイデアは、タイプを修飾することであり、これは便利な方法です。ファイルの先頭にあなたの使用法を含めることの利点は短い手であり、一般的にはより読みやすいコードに変換されます。しかし、2つの名前空間の型が衝突すると、衝突する名前空間で終わることがあるという欠点があります。この場合、代わりにエイリアスを作成することができます。

2

あなたが言及しているように、実際には「略記」です。あなたが与える例:

System.Xml.XPath.XElement 

これは非常にうまく示しています。あなたはXElementと対話したいと考えています。それで全部です。完全な参照の残りの部分はちょうどノイズです。コード全体に何度も繰り返し書く必要はありません。

これは、コンパイラの構造的な足場とは対照的に、ロジックの意味のある部分に焦点を絞った、より洗練された、より簡潔で表現力のあるコードを書く尺度です。

0

usingステートメントは、このコードが何を使用しているかについて、また名前空間メンバへの略式アクセスを提供することについて鋭いピークを提供します。通常、新しいファイルを見ているときには、含まれているものに基づいて、特定のAPIを省略形のメモリにキューイングします。 は(ずさんなプログラマを扱うとき、これは常に動作しません。)

関連する問題