2

ずっと前に、独自のクラスをフレームワークの名前空間に追加することに対する Microsoft の非常に強力な推奨事項を読んだことを覚えています。探しても失敗しました。

私が覚えている主な理由は、フレームワークの後続のバージョンでは、クラス名の競合が発生する可能性があるためです。

他に理由はありますか?独自のクラスをフレームワークの名前空間に追加することをお勧めしますか? この問題に関する現存する公式のガイダンスはありますか?

4

3 に答える 3

4

もう/まだ存在しないものをスタブしようとしているときに、自分に属していない名前空間にクラスを配置したい唯一のケースは、変更したくないコードベースで使用されていることです。

たとえば、.NET 3.5 がベータ版だったときに .NET 2.0 を対象としていたアプリケーションの HashSet 実装を記述し、System.Collections.Generic 名前空間に配置しました。.NET 3.5 にアップグレードすることはわかっていたので、その時が来たらこのクラスを削除しました。

于 2011-05-19T07:49:03.487 に答える
2

名前空間として使用することお勧めします。Company.Product.Componentこれには、自分の製品でフレームワークの名前空間を使用しないことが含まれる場合があります。MSDN: 名前空間の名前 (クラス ライブラリを開発するための設計ガイドライン) を参照してください。

個人的にはSystem、.NET フレームワークに属していないのと同じように、自分のクラスに名前空間を使用することはありません。java.langどちらもJavaでは使用しません。ただし、これはあくまで私の個人的な意見です。

それが役立つことを願っています。

乾杯、マティアス

于 2011-05-19T07:33:54.377 に答える