[C#] namespace

Charles Petzoldの .NET Book Zeroで C#の知識を整理している。
namespaceは、classを区別するための名前空間を設定する。namespaceがないプログラムを書くことは可能であり、.NET Book Zeroではほとんどのプログラム例はnamespace化されていない。使い捨てのプログラムならそれでも十分。
namespaceが必要になるのは、公開ライブラリを作成する場合である。
メソッドやフィールドは、namespace, class名などをすべて書くことで一意になる。が、長すぎるのでソースコード内で省略するために using キーワードを使う。
以下ではSystem.Console.WriteLineと書くかわりに、

using System;
class SecondProgram
{
public static void Main()
{
Console.WriteLine("Hello, Microsoft .NET Framework!");
}
}

using System;は、Console.WriteLineというstatic methodがなければ、Systemから探す、という指示になる。
これをalias機能を使って略記することもできる。

using C = System.Console;
class SecondProgram
{
public static void Main()
{
C.WriteLine("Hello, Microsoft .NET Framework!");
}
}

これは、Cを置き換えるものではない。Cというクラスが見つからなければその時に限り、置き換える、というもの。

広告
%d人のブロガーが「いいね」をつけました。