2009-06-04 24 views
3

ソリューション全体で名前空間をグローバルに参照する方法はありますか?だからではなく、すべてのコードファイルに次の行を持つの名前空間をグローバルに参照していますか?

using System; 
using MyNamespace; 

一度だけそれらを宣言する必要があり、すべてのコードファイルは、それらを使用します。

Btw私はVisual Studioを使用しています。

答えて

6

いいえ、C#にはこの概念がありません。各ソースファイルはこの点で独立しています。 (そして、使用するディレクティブが名前空間宣言に含まれている場合は、他のディレクティブとピアの名前空間宣言のディレクティブとは独立しています)。

何を変更するにはReSharperは必要ありませんしかし、新しいクラスに含まれています。 Visual Studio templatesを使用できます。

EDIT:ちょうど私たちは(1つのファイルにすべてを)持っていたと仮定し、名前空間内のディレクティブを使用する方法についてのポイントを明確にする:

using Foo; 

namespace X 
{ 
    using Bar; 
    // Foo and Bar are searched for code in here, but not Baz 
} 

namespace Y 
{ 
    using Baz; 
    // Foo and Baz are searched for code in here, but not Bar 
} 

通常私は、ファイル内の1つの名前空間宣言を持っているし、すべての使用を置きますそれの前にディレクティブ。

+0

あなたは素晴らしいです。私が完全に見えて最終的な答えを見る(または投稿する)たびに、あなたは何か良いものを思いついてくれます:) –

+0

ありがとうございました。 3番目の文では、別の名前空間(CustomNS)内に名前空間宣言がある場合、CustomNSを使用する場合、その名前空間を使用するファイルにはこれらの名前空間は含まれません。 –

+0

精巧に答えを編集します。 –

4

いいえ、これはできません。

ReSharperを使用している場合は、作成するすべての新しいファイルに特定のusingディレクティブを含めるオプションを設定できます。

2

このSO questionからフォローアップblog post。 Visual Studioのデフォルトテンプレートを編集できます。 [プログラムファイル] [Visual Studioの] \ Common7 \ IDE \ ItemTemplates \ CSHARP \コード\ 1033 Class.zip

\

と変更Class.cs:

これを行うには、このZIP内のファイルを見てファイルを必要に応じて作成します。さらに、Visual Studioはこのファイルをここにキャッシュしている可能性があります。 [プログラムファイル] [Visual Studio] \ Common7 \ IDE \ ItemTemplatesCache \ CSharp \ Code \ 1033 \ Class.zip

0

他にもVisual Studioテンプレートがあります行く。

テンプレートにusingステートメントを追加するだけでは、コンパイラが型を解決できないことに注意してください。したがって、すべてのクラスでMyNamespaceのusingステートメントを追加する場合は、アセンブリ参照をプロジェクトに追加する必要があります。詳細は、C# FAQを参照してください。

-2

私がCSharpのnewbとして迷っているトリックは、 "REFERENCE"(VS)を見て、右クリックして "Add New Reference"を見ることです。これは、他の場所で再利用するためにいくつかのジェネリッククラスを作成したところで、複数のプロジェクトを結合するときに特に便利です。

関連する問題