できるだけ具体的に知りたいです。
System.Threading.Monitorクラスの実装
.NET Framework のバージョンにもよりますが、以下の方法により調査可能です。
<「.NET Reflector」(.NET 逆コンパイラー)を用いて実装を確認する方法> 1. 下記サイトより「.NET Reflector」をダウンロードします。 ■ .NET Reflector, class browser, analyzer and decompiler for .NET http://www.red-gate.com/products/reflector/ → ダウンロード時に User Name / e-mail アドレスの入力を求められます。 2. 「.NET Reflector」を起動します。 → .NET Framework のバージョンを選択します。 3. 対象のクラスを選択します。 System.Threading.Monitor クラスは下記になります。 → [mscorlib] - [CommonLanguageRuntimeLibrary] - [System.Threading] - [Monitor]
<「.NET Framework のソースコード」を取得する方法> .NET Framework のソースコードはマイクロソフトのサイトにて公開されています。 下記サイトよりダウンロード可能です。 ■ .NET Framework Libraries / Available Source Code Components http://referencesource.microsoft.com/netframework.aspx Product Name : [.NET] Version : [8.0] ソースそのものを提示するのは問題がありそうなので、 System.Threading.Monitor クラスのソースの場所のみ提示します。 <install path>\RefSrc\Source\DotNET\8.0\DEVDIV\depot\DevDiv\releases\whidbey\REDBITS\ndp\clr\src\BCL\System\Threading\Monitor.cs\1\Monitor.cs
<参考情報> ■ .NET Framework の基本クラスに対してソースレベルデバッグを行う方法 (オフライン編) - NyaRuRuの日記 http://d.hatena.ne.jp/NyaRuRu/20080930/p1 ■ MS、.NETのソースコードを公開へ - @IT http://www.atmarkit.co.jp/news/200710/05/dotnet.html ■ Visual Studio 2008で見る.NET Frameworkのソースコード - @IT http://www.atmarkit.co.jp/fdotnet/insiderseye/20080222sourcecode... ■ InfoQ: .NET Reference Sourceの最新情報 http://www.infoq.com/jp/news/2008/12/Reference-Source
回答ありがとうございます。
それで申し訳ないのですが、MonitorクラスではEnter()やExit()がextern宣言されていて、これの実装がソースツリー内では見つかりませんでした。