19

Visual Studio 2008 が、作成した新しい C# ファイルごとに次のusing ディレクティブを自動的に挿入するのはなぜですか?

using System; 
using System.Collections.Generic; 
using System.Text;

これらの名前空間の何が特別なのでしょうか? これらは最も頻繁に使用されるものですか?

4

3 に答える 3

35

はい、それらは頻繁に使用されるため、MS はそれらをVisual Studio テンプレートに入れました。個人的には「未使用の使用を並べ替えて削除する」をかなり頻繁に使用しているため、それらがなくなることがよくあります。

それらを削除したい場合は、「新しいクラス」テンプレートを修正できます。

編集:「未使用の使用ディレクティブを並べ替えて削除する」のファンになった場合は、Visual Studio の PowerCommands を取得する必要があります。これにより、ソリューション エクスプローラーのコンテキスト メニュー項目が追加され、1 つのファイルではなくプロジェクト全体に対して実行されます :)

于 2009-03-16T16:03:04.283 に答える
4

必要に応じて、それらを変更できます。詳細については、こちらを参照してください。

--- 以下、リンク切れの場合の本文です。---

を開く%Program Files%\Microsoft Visual Studio 8\Common7\IDE\ItemTemplates\CSharp\1033\Class.zipと、すべての新しい C# ソース ファイルを生成するために使用される 内のファイルを変更できclass.csます。次のようになります。

using System;
using System.Collections.Generic;
using System.Text;

namespace $rootnamespace$
{
    class $safeitemrootname$
    {
    }
}

次に、このファイルの先頭に必要なusingディレクティブを追加または削除して、アーカイブに保存し直すことができます。最後に実行%Program Files%\Microsoft Visual Studio 8\Common7\IDE\devenv.exe /setupして、Visual Studio のテンプレート キャッシュを更新します。これで、作成するすべての新しい C# ファイルが、変更したテンプレートと一致するはずです。

于 2009-03-16T16:04:05.857 に答える
2

これは、その特定のタイプのプロジェクトで、新しいファイルのテンプレートに含まれるように選択された名前空間です。プロジェクトの種類が異なれば、テンプレートも異なるため、使用ディレクティブのセットも異なります。usingディレクティブは、そのタイプのファイルに必要なものと、使用する可能性のあるものに応じて選択されました。

usingディレクティブは、クラスを探す場所をコンパイラーに指示するだけなので、競合(あいまいなクラス名)を引き起こさない限り、コードで必ずしも必要とされないディレクティブを使用しても害はありません。

ファイルを右クリックしてOrganise Usingsサブメニューを開くと、ファイルRemove Unused Usingsで不要なディレクティブを使用して削除するために使用できるオプションが見つかります。

于 2009-03-16T16:13:03.540 に答える