RuntimeHelpers クラス
アセンブリ: mscorlib (mscorlib.dll 内)


PrepareConstrainedRegions メソッドを使用して、ハンドルを確実に設定する方法を次のコード例に示します。ハンドルを指定した既存のハンドルに確実に設定するには、ネイティブ ハンドルの割り当てと SafeHandle オブジェクト内でのそのハンドルの以降の記録を分離不可能な状態にすることが必要です。これらの操作間でエラーが発生すると (スレッドの中止やメモリ不足の例外によるエラーなど)、ネイティブ ハンドルがリークされることになります。PrepareConstrainedRegions メソッドを使用すると、ハンドルのリークを確実に防ぐことができます。
<StructLayout(LayoutKind.Sequential)> _ Structure MyStruct Public m_outputHandle As IntPtr End Structure 'MyStruct NotInheritable Class MySafeHandle Inherits SafeHandle ' Called by P/Invoke when returning SafeHandles Public Sub New() MyBase.New(IntPtr.Zero, True) End Sub Public Function AllocateHandle() As MySafeHandle ' Allocate SafeHandle first to avoid failure later. Dim sh As New MySafeHandle() RuntimeHelpers.PrepareConstrainedRegions() Try Finally Dim myStruct As New MyStruct() NativeAllocateHandle(myStruct) sh.SetHandle(myStruct.m_outputHandle) End Try Return sh End Function
[StructLayout(LayoutKind.Sequential)] struct MyStruct { public IntPtr m_outputHandle; } sealed class MySafeHandle : SafeHandle { // Called by P/Invoke when returning SafeHandles public MySafeHandle() : base(IntPtr.Zero, true) { } public MySafeHandle AllocateHandle() { // Allocate SafeHandle first to avoid failure later. MySafeHandle sh = new MySafeHandle(); RuntimeHelpers.PrepareConstrainedRegions(); try { } finally { MyStruct myStruct = new MyStruct(); NativeAllocateHandle(ref myStruct); sh.SetHandle(myStruct.m_outputHandle); } return sh; }

System.Runtime.CompilerServices.RuntimeHelpers


Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


RuntimeHelpers プロパティ
RuntimeHelpers メソッド

名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 指定した Object インスタンスが等しいかどうかを判断します。 |
![]() | ExecuteCodeWithGuaranteedCleanup | Delegate を使用してコードを実行します。例外の場合は、別の Delegate を使用して追加のコードを実行します。 |
![]() | GetHashCode | オーバーロードされます。 特定の型のハッシュ関数として機能します。ハッシュ アルゴリズムや、ハッシュ テーブルなどのデータ構造での使用に適しています。 |
![]() | GetObjectValue | 値型をボックスに格納します。 |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | InitializeArray | モジュールに格納されたデータから配列を高速に初期化する方法を提供します。 |
![]() | PrepareConstrainedRegions | コード本体を制約された実行領域 (CER) として指定します。 |
![]() | PrepareConstrainedRegionsNoOP | 調査を実行しないで、コード本体を制約された実行領域 (CER) として指定します。 |
![]() | PrepareDelegate | 指定されたデリゲートを制約された実行領域 (CER) に含めるように準備することを示します。 |
![]() | PrepareMethod | オーバーロードされます。 制約された実行領域 (CER) に含めるためのメソッドを準備します。 |
![]() | ProbeForSufficientStack | コード本体を制約された実行領域 (CER) として指定します。 |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | RunClassConstructor | 指定したクラスのコンストラクタ メソッドを実行します。 |
![]() | RunModuleConstructor | 指定したモジュールのコンストラクタ メソッドを実行します。 |
![]() | ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |

RuntimeHelpers メンバ
コンパイラのサポートを提供する静的メソッドと静的プロパティのセットを提供します。このクラスは継承できません。
RuntimeHelpers データ型で公開されるメンバを以下の表に示します。


名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 指定した Object インスタンスが等しいかどうかを判断します。 |
![]() | ExecuteCodeWithGuaranteedCleanup | Delegate を使用してコードを実行します。例外の場合は、別の Delegate を使用して追加のコードを実行します。 |
![]() | GetHashCode | オーバーロードされます。 特定の型のハッシュ関数として機能します。ハッシュ アルゴリズムや、ハッシュ テーブルなどのデータ構造での使用に適しています。 |
![]() | GetObjectValue | 値型をボックスに格納します。 |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | InitializeArray | モジュールに格納されたデータから配列を高速に初期化する方法を提供します。 |
![]() | PrepareConstrainedRegions | コード本体を制約された実行領域 (CER) として指定します。 |
![]() | PrepareConstrainedRegionsNoOP | 調査を実行しないで、コード本体を制約された実行領域 (CER) として指定します。 |
![]() | PrepareDelegate | 指定されたデリゲートを制約された実行領域 (CER) に含めるように準備することを示します。 |
![]() | PrepareMethod | オーバーロードされます。 制約された実行領域 (CER) に含めるためのメソッドを準備します。 |
![]() | ProbeForSufficientStack | コード本体を制約された実行領域 (CER) として指定します。 |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | RunClassConstructor | 指定したクラスのコンストラクタ メソッドを実行します。 |
![]() | RunModuleConstructor | 指定したモジュールのコンストラクタ メソッドを実行します。 |
![]() | ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |

Weblioに収録されているすべての辞書からRuntimeHelpersを検索する場合は、下記のリンクをクリックしてください。

- RuntimeHelpersのページへのリンク