基本クラスライブラリ
基本クラスライブラリ(Base Class Library, BCL)とは、世界標準規格である共通言語基盤(CLI)で定義されている、あらゆる.NET Framework実装が搭載するべき共通のライブラリのことである。
基本クラスライブラリは、マイクロソフトがWindowsやXbox 360(XNA)、Silverlightなどの異なる.NET Framework実装でも最低限は共通にすべきと策定したPortable Class Librariesを、世界共通の標準規格化にあたりLinuxやBSDをはじめ、iPhoneやAndroid、BlackBerryなどのスマートフォン、PlayStation 3やPlayStation Vitaなどの家庭用ゲーム機まで使えるように、さらなる汎用化を施したものである。
標準規格化されているプログラミング言語は多々あるが、基本クラスライブラリ(BCL)ほどの広範囲で大規模な標準ライブラリは類を見ないと言われている。
目次
- 1 基本クラスライブラリに含まれる名前空間
- 1.1 System
- 1.2 System.Collections
- 1.3 System.Diagnostics
- 1.4 System.Diagnostics.Contracts
- 1.5 System.Diagnostics.Contracts.Internal
- 1.6 System.DirectoryServices
- 1.7 System.IO
- 1.8 System.Reflection
- 1.9 System.Reflection.Emit
- 1.10 System.Text
- 1.11 System.Threading
- 1.12 System.Xml
- 1.13 System.Xml.Xsl
- 1.14 System.Xml.XPath
- 2 関連項目
- 3 参考文献
- 4 外部リンク
基本クラスライブラリに含まれる名前空間
以下には既に標準化されたものに加え、ドラフト段階(審議中)のものも含む。 標準化されました、はい終わり、ではなく今後も増殖を続けていくことになると思われる。
なお現在審議中のものには2012年5月現在で最新の.NET Framework 4.0由来のもの(Task Parallel Libraryなど)まで含まれている。2009年から延々と審議されているが全然結論がでていないのでいつ確定するかは未定であるが、Monoでは審議中のものまで含めほぼ実装済みとなっている。
System
System 名前空間には、ObjectクラスやStringクラスをはじめとした基本的なクラスや、Int32構造体などの定番の構造体や列挙型(他のプログラミング言語でいう列挙体に近いもの)などのデータ型、.NETランタイムの基礎となるものを格納している。
System.Collections
System.Collections 名前空間には、アルゴリズム本では定番のリストやハッシュテーブル、キュー、スタックといった、俗にいうコレクションと呼ばれるクラス群が格納されている。
System.Diagnostics
System.Diagnostics 名前空間には、プロセス制御やイベントログ、パフォーマンスカウンターなどといったシステムリソースとのやり取りに関するクラス群が格納されている。
System.Diagnostics.Contracts
System.Diagnostics.Contracts 名前空間には、コード・コントラクトに関するクラス群が格納されている。
いわゆる「契約による設計」や「契約プログラミング」と呼ばれる設計の安全性を高める技法を実現するための補助するライブラリ群のことである。
System.Diagnostics.Contracts.Internal
System.Diagnostics.Contracts.Internal 名前空間には、コード・コントラクトにおける障害(契約違反)を処理するためのクラス群が格納されている。
System.DirectoryServices
System.DirectoryServices 名前空間には、マネージコードからLDAP(Active Directory)に簡単にアクセスするための簡単なクラス群が格納されている。
LDAPの範疇を超え、本格的にActive Direcotryにアクセスしたい場合は、BCLの範囲外である「System.DirectoryServices.ActiveDirectory 名前空間」にあるクラス群を使う。
ドラフト。
System.IO
System.IO 名前空間とは、各種ストリームからのデータの読み書きや、ファイルシステムなどにアクセスするためのクラス群が格納されている。
System.Reflection
System.Reflection.Emit
System.Text
System.Threading
System.Xml
System.Xml.Xsl
System.Xml.XPath
関連項目
参考文献