これは型のエイリアスであり、名前空間のエイリアスではありません。一義化することは有用です-たとえば、
using WinformTimer = System.Windows.Forms.Timer;
using ThreadingTimer = System.Threading.Timer;
(ps:Timer
;-pをお選びいただきありがとうございます)
それ以外の場合、両方を使用して同じファイルで使用するSystem.Windows.Forms.Timer
とSystem.Timers.Timer
、完全な名前を付け続ける必要があります(Timer
混乱を招く可能性があるため)。
またextern
、異なるアセンブリからの同じ完全修飾型名を持つ型を使用するためのエイリアスの役割も果たします-まれですが、サポートすると便利です。
実際、私は別の使用法を見ることができます:型にすばやくアクセスしたいが、using
いくつかの競合する拡張メソッドをインポートできないため、通常は使用したくない場合...少し複雑ですが...ここに例があります...
namespace RealCode {
//using Foo; // can't use this - it breaks DoSomething
using Handy = Foo.Handy;
using Bar;
static class Program {
static void Main() {
Handy h = new Handy(); // prove available
string test = "abc";
test.DoSomething(); // prove available
}
}
}
namespace Foo {
static class TypeOne {
public static void DoSomething(this string value) { }
}
class Handy {}
}
namespace Bar {
static class TypeTwo {
public static void DoSomething(this string value) { }
}
}
using int = System.Int32
C#のシステム全体についてはどうですか?便利ですね。他と同じように利用できます。