基本クラスライブラリ

提供: MonoBook
ナビゲーションに移動 検索に移動

基本クラスライブラリ(Base Class Library, BCL)とは、世界標準規格である共通言語基盤CLI)で定義されている、あらゆる.NET Framework実装が搭載するべき共通のライブラリのことである。

基本クラスライブラリは、マイクロソフトがWindowsXbox 360XNA)、Silverlightなどの異なる.NET Framework実装でも最低限は共通にすべきと策定したPortable Class Librariesを、世界共通の標準規格化にあたりLinuxBSDをはじめ、iPhoneAndroidBlackBerryなどのスマートフォンPlayStation 3PlayStation Vitaなどの家庭用ゲーム機まで使えるように、さらなる汎用化を施したものである。

標準規格化されているプログラミング言語は多々あるが、基本クラスライブラリ(BCL)ほどの広範囲で大規模な標準ライブラリは類を見ないと言われている。

基本クラスライブラリに含まれる名前空間[編集 | ソースを編集]

以下には既に標準化されたものに加え、ドラフト段階(審議中)のものも含む。 標準化されました、はい終わり、ではなく今後も増殖を続けていくことになると思われる。

なお現在審議中のものには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 名前空間には、マネージコードからLDAPActive 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[編集 | ソースを編集]

関連項目[編集 | ソースを編集]

参考文献[編集 | ソースを編集]


外部リンク[編集 | ソースを編集]