0

名前空間に新しいクラスを追加すると、これが取得されます(これは、mvc3プロジェクトにあります)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace Foo.Models
{
 public class Bar
 {
 }
}

名前空間Foo.Modelsには、他のクラスがあります。ただし、コンテンツを異なる.csの場所に配置して、コンテンツを分離することは便利です。それはかなり標準的なことだと思います。とにかく、コンパイラが魔法を使ってこれらすべてを後で構成することを私は知っています。それが私の質問の出所です。名前空間が後で作成される場合、クラスが使用しているものを常に再定義する必要があるのはなぜですか?名前空間のどこかですでに利用可能である場合、名前空間内のクラスを定義するusing System;すべてのファイルで言う必要がありますか?.cs誰かが私にこれを少し説明できますか?また、名前空間のすべての使用例を一度定義すると、その名前空間に追加されたクラスが本質的ににアクセスできるように、これを実装するための可能な方法に光を当てることができますか?それらの。

4

1 に答える 1

3

ステートメントのusingスコープは、使用している特定の.csファイルです。

それらは、クラスファイルのコンテキストで便利なショートカットを提供するだけであり、使用するすべての場所でクラス名を完全に修飾するのではなく、クラスの名前のみを使用できます。

名前空間が存在するのは、異なるチームが必然的に異なるクラスに同じクラス名を使用するためです(Utilクラスがいくつあるのだろうか)。

プロジェクトに、同じ名前の異なるオブジェクトを使用する2つの異なるクラスがある場合があります。各ファイルに異なるusingステートメントを含めることができるので、それを簡単に行うことができます。

using新しいクラスのテンプレートをいつでも編集して、すべてのクラスで必要なステートメント を事前に入力できることに注意してください。

于 2012-09-18T19:30:14.890 に答える