.NET Frameworkのバージョンとサポートされるメソッド
WaitOne, WaitAny, WaitAllメソッドのオーバーロードは、.NET Frameworkのバージョンによってサポート状況が異なる。
各メソッドのオーバーロードのうち、引数exitContextを省略できるバージョンは
- .NET Framework 4
- .NET Framework 3.5 SP1
- .NET Framework 3.0 SP2
- .NET Framework 2.0 SP2
以降でサポートされる。 このため、引数exitContextを省略したバージョンを用いたコードを上記より古い.NET Frameworkで実行した場合、MissingMethodExceptionがスローされる。
各メソッドのオーバーロードとサポートされる.NET Frameworkのバージョンの対応を表にまとめると以下のようになる。
オーバーロード | サポートされる.NET Frameworkのバージョン | 等価な呼び出し |
WaitOne() | 4, 3.5, 3.0, 2.0, 1.1, 1.0 | WaitOne(-1, false) WaitOne(Timeout.Inifinite, false) |
WaitOne(int) | 4, 3.5 SP1, 3.0 SP2, 2.0 SP2 | WaitOne(millisecondsTimeout, false) |
WaitOne(TimeSpan) | 4, 3.5 SP1, 3.0 SP2, 2.0 SP2 | WaitOne(timeout, false) |
WaitOne(int, bool) | 4, 3.5, 3.0, 2.0, 1.1, 1.0 | - |
WaitOne(TimeSpan, bool) | 4, 3.5, 3.0, 2.0, 1.1, 1.0 | - |
WaitHandleクラスから派生する以下のクラスでも同様。
オーバーロード | サポートされる.NET Frameworkのバージョン | 等価な呼び出し |
WaitAny(WaitHandle[]) | 4, 3.5, 3.0, 2.0, 1.1, 1.0 | WaitAny(waitHandles, -1, false) WaitAny(waitHandles, Timeout.Infinite, false) |
WaitAny(WaitHandle[], int) | 4, 3.5 SP1, 3.0 SP2, 2.0 SP2 | WaitAny(waitHandles, millisecondsTimeout, false) |
WaitAny(WaitHandle[], TimeSpan) | 4, 3.5 SP1, 3.0 SP2, 2.0 SP2 | WaitAny(waitHandles, timeout, false) |
WaitAny(WaitHandle[], int, bool) | 4, 3.5, 3.0, 2.0, 1.1, 1.0 | - |
WaitAny(WaitHandle[], TimeSpan, bool) | 4, 3.5, 3.0, 2.0, 1.1, 1.0 | - |
オーバーロード | サポートされる.NET Frameworkのバージョン | 等価な呼び出し |
WaitAll(WaitHandle[]) | 4, 3.5, 3.0, 2.0, 1.1, 1.0 | WaitAll(waitHandles, -1, false) WaitAll(waitHandles, Timeout.Infinite, false) |
WaitAll(WaitHandle[], int) | 4, 3.5 SP1, 3.0 SP2, 2.0 SP2 | WaitAll(waitHandles, millisecondsTimeout, false) |
WaitAll(WaitHandle[], TimeSpan) | 4, 3.5 SP1, 3.0 SP2, 2.0 SP2 | WaitAll(waitHandles, timeout, false) |
WaitAll(WaitHandle[], int, bool) | 4, 3.5, 3.0, 2.0, 1.1, 1.0 | - |
WaitAll(WaitHandle[], TimeSpan, bool) | 4, 3.5, 3.0, 2.0, 1.1, 1.0 | - |
なお、SignalAndWaitメソッドは引数exitContextを省略できるバージョンが用意されていない。
オーバーロード | サポートされる.NET Frameworkのバージョン | 等価な呼び出し |
SignalAndWait(WaitHandle, WaitHandle) | 4, 3.5, 3.0, 2.0 | SignalAndWait(toSignal, toWait, -1, false) SignalAndWait(toSignal, toWait, Timeout.Infinite, false) |
SignalAndWait(WaitHandle, WaitHandle, int, bool) | 4, 3.5, 3.0, 2.0 | - |
SignalAndWait(WaitHandle, WaitHandle, TimeSpan, bool) | 4, 3.5, 3.0, 2.0 | - |