MethodBodyStreamEncoder.AddMethodBody メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
| 名前 | 説明 |
|---|---|
| AddMethodBody(InstructionEncoder, Int32, StandaloneSignatureHandle, MethodBodyAttributes) |
メソッド本体をエンコードし、メソッド本体ストリームに追加します。 |
| AddMethodBody(InstructionEncoder, Int32, StandaloneSignatureHandle, MethodBodyAttributes, Boolean) |
メソッド本体をエンコードし、指定された命令エンコーダー、最大スタック サイズ、ローカル変数のシグネチャ ハンドル、メソッド本体の属性を使用してメソッド本体ストリームに追加し、メソッドが動的ローカル メモリ プールから割り当てるかどうかを示すことができます。 |
| AddMethodBody(Int32, Int32, Int32, Boolean, StandaloneSignatureHandle, MethodBodyAttributes) |
メソッド本体をエンコードし、指定されたコード サイズ、最大スタック サイズ、例外領域の数、ローカル変数のシグネチャ ハンドル、メソッド本体の属性を使用して、メソッド本体ストリームに追加し、例外領域を小さな形式でエンコードするかどうかを示します。 |
| AddMethodBody(Int32, Int32, Int32, Boolean, StandaloneSignatureHandle, MethodBodyAttributes, Boolean) |
メソッド本体をエンコードし、指定されたコード サイズ、最大スタック サイズ、例外領域の数、ローカル変数のシグネチャ ハンドル、メソッド本体の属性を使用して、メソッド本体ストリームに追加します。これにより、例外領域を小さな形式でエンコードする必要があるかどうかを示し、メソッドが動的ローカル メモリ プールから割り当てるかどうかを示すことができます。 |
AddMethodBody(InstructionEncoder, Int32, StandaloneSignatureHandle, MethodBodyAttributes)
メソッド本体をエンコードし、メソッド本体ストリームに追加します。
public:
int AddMethodBody(System::Reflection::Metadata::Ecma335::InstructionEncoder instructionEncoder, int maxStack, System::Reflection::Metadata::StandaloneSignatureHandle localVariablesSignature, System::Reflection::Metadata::Ecma335::MethodBodyAttributes attributes);
public int AddMethodBody(System.Reflection.Metadata.Ecma335.InstructionEncoder instructionEncoder, int maxStack, System.Reflection.Metadata.StandaloneSignatureHandle localVariablesSignature, System.Reflection.Metadata.Ecma335.MethodBodyAttributes attributes);
public int AddMethodBody(System.Reflection.Metadata.Ecma335.InstructionEncoder instructionEncoder, int maxStack = 8, System.Reflection.Metadata.StandaloneSignatureHandle localVariablesSignature = default, System.Reflection.Metadata.Ecma335.MethodBodyAttributes attributes = System.Reflection.Metadata.Ecma335.MethodBodyAttributes.InitLocals);
member this.AddMethodBody : System.Reflection.Metadata.Ecma335.InstructionEncoder * int * System.Reflection.Metadata.StandaloneSignatureHandle * System.Reflection.Metadata.Ecma335.MethodBodyAttributes -> int
Public Function AddMethodBody (instructionEncoder As InstructionEncoder, maxStack As Integer, localVariablesSignature As StandaloneSignatureHandle, attributes As MethodBodyAttributes) As Integer
Public Function AddMethodBody (instructionEncoder As InstructionEncoder, Optional maxStack As Integer = 8, Optional localVariablesSignature As StandaloneSignatureHandle = Nothing, Optional attributes As MethodBodyAttributes = System.Reflection.Metadata.Ecma335.MethodBodyAttributes.InitLocals) As Integer
パラメーター
- instructionEncoder
- InstructionEncoder
命令エンコーダー。
- maxStack
- Int32
スタックの最大サイズ。
- localVariablesSignature
- StandaloneSignatureHandle
ローカル変数のシグネチャ ハンドル。
- attributes
- MethodBodyAttributes
メソッド本体の属性。
返品
メソッド本体ストリーム内のエンコードされた本文のオフセット。
例外
instructionEncoder には既定値があります。
maxStack が [0, UInt16.MaxValue] の範囲外です。
命令ストリーム内の分岐の対象となるラベルがマークされていないか、分岐命令とターゲット ラベルの間の距離が命令オペランドのサイズに適合しません。
適用対象
AddMethodBody(InstructionEncoder, Int32, StandaloneSignatureHandle, MethodBodyAttributes, Boolean)
メソッド本体をエンコードし、指定された命令エンコーダー、最大スタック サイズ、ローカル変数のシグネチャ ハンドル、メソッド本体の属性を使用してメソッド本体ストリームに追加し、メソッドが動的ローカル メモリ プールから割り当てるかどうかを示すことができます。
public int AddMethodBody(System.Reflection.Metadata.Ecma335.InstructionEncoder instructionEncoder, int maxStack = 8, System.Reflection.Metadata.StandaloneSignatureHandle localVariablesSignature = default, System.Reflection.Metadata.Ecma335.MethodBodyAttributes attributes = System.Reflection.Metadata.Ecma335.MethodBodyAttributes.InitLocals, bool hasDynamicStackAllocation = false);
member this.AddMethodBody : System.Reflection.Metadata.Ecma335.InstructionEncoder * int * System.Reflection.Metadata.StandaloneSignatureHandle * System.Reflection.Metadata.Ecma335.MethodBodyAttributes * bool -> int
Public Function AddMethodBody (instructionEncoder As InstructionEncoder, Optional maxStack As Integer = 8, Optional localVariablesSignature As StandaloneSignatureHandle = Nothing, Optional attributes As MethodBodyAttributes = System.Reflection.Metadata.Ecma335.MethodBodyAttributes.InitLocals, Optional hasDynamicStackAllocation As Boolean = false) As Integer
パラメーター
- instructionEncoder
- InstructionEncoder
命令エンコーダー。
- maxStack
- Int32
スタックの最大サイズ。
- localVariablesSignature
- StandaloneSignatureHandle
ローカル変数のシグネチャ ハンドル。
- attributes
- MethodBodyAttributes
メソッド本体の属性。
- hasDynamicStackAllocation
- Boolean
true メソッドが動的ローカル メモリ プールから割り当てる場合は (IL には localloc 命令が含まれます)、それ以外の場合 false 。
返品
メソッド本体ストリーム内のエンコードされた本文のオフセット。
例外
instructionEncoder には既定値があります。
maxStack が [0, UInt16.MaxValue] の範囲外です。
命令ストリーム内の分岐の対象となるラベルがマークされていないか、分岐命令とターゲット ラベルの間の距離が命令オペランドのサイズに適合しません。
適用対象
AddMethodBody(Int32, Int32, Int32, Boolean, StandaloneSignatureHandle, MethodBodyAttributes)
メソッド本体をエンコードし、指定されたコード サイズ、最大スタック サイズ、例外領域の数、ローカル変数のシグネチャ ハンドル、メソッド本体の属性を使用して、メソッド本体ストリームに追加し、例外領域を小さな形式でエンコードするかどうかを示します。
public:
System::Reflection::Metadata::Ecma335::MethodBodyStreamEncoder::MethodBody AddMethodBody(int codeSize, int maxStack, int exceptionRegionCount, bool hasSmallExceptionRegions, System::Reflection::Metadata::StandaloneSignatureHandle localVariablesSignature, System::Reflection::Metadata::Ecma335::MethodBodyAttributes attributes);
public System.Reflection.Metadata.Ecma335.MethodBodyStreamEncoder.MethodBody AddMethodBody(int codeSize, int maxStack, int exceptionRegionCount, bool hasSmallExceptionRegions, System.Reflection.Metadata.StandaloneSignatureHandle localVariablesSignature, System.Reflection.Metadata.Ecma335.MethodBodyAttributes attributes);
public System.Reflection.Metadata.Ecma335.MethodBodyStreamEncoder.MethodBody AddMethodBody(int codeSize, int maxStack = 8, int exceptionRegionCount = 0, bool hasSmallExceptionRegions = true, System.Reflection.Metadata.StandaloneSignatureHandle localVariablesSignature = default, System.Reflection.Metadata.Ecma335.MethodBodyAttributes attributes = System.Reflection.Metadata.Ecma335.MethodBodyAttributes.InitLocals);
member this.AddMethodBody : int * int * int * bool * System.Reflection.Metadata.StandaloneSignatureHandle * System.Reflection.Metadata.Ecma335.MethodBodyAttributes -> System.Reflection.Metadata.Ecma335.MethodBodyStreamEncoder.MethodBody
Public Function AddMethodBody (codeSize As Integer, maxStack As Integer, exceptionRegionCount As Integer, hasSmallExceptionRegions As Boolean, localVariablesSignature As StandaloneSignatureHandle, attributes As MethodBodyAttributes) As MethodBodyStreamEncoder.MethodBody
Public Function AddMethodBody (codeSize As Integer, Optional maxStack As Integer = 8, Optional exceptionRegionCount As Integer = 0, Optional hasSmallExceptionRegions As Boolean = true, Optional localVariablesSignature As StandaloneSignatureHandle = Nothing, Optional attributes As MethodBodyAttributes = System.Reflection.Metadata.Ecma335.MethodBodyAttributes.InitLocals) As MethodBodyStreamEncoder.MethodBody
パラメーター
- codeSize
- Int32
命令用に予約するバイト数。
- maxStack
- Int32
スタックの最大サイズ。
- exceptionRegionCount
- Int32
例外領域の数。
- hasSmallExceptionRegions
- Boolean
true 例外領域を小さい形式でエンコードする必要がある場合。それ以外の場合 false 。
- localVariablesSignature
- StandaloneSignatureHandle
ローカル変数のシグネチャ ハンドル。
- attributes
- MethodBodyAttributes
メソッド本体の属性。
返品
メソッド本体ストリーム内のエンコードされた本文のオフセット。
例外
codeSize、 exceptionRegionCount、または maxStack が許容範囲外です。
適用対象
AddMethodBody(Int32, Int32, Int32, Boolean, StandaloneSignatureHandle, MethodBodyAttributes, Boolean)
メソッド本体をエンコードし、指定されたコード サイズ、最大スタック サイズ、例外領域の数、ローカル変数のシグネチャ ハンドル、メソッド本体の属性を使用して、メソッド本体ストリームに追加します。これにより、例外領域を小さな形式でエンコードする必要があるかどうかを示し、メソッドが動的ローカル メモリ プールから割り当てるかどうかを示すことができます。
public System.Reflection.Metadata.Ecma335.MethodBodyStreamEncoder.MethodBody AddMethodBody(int codeSize, int maxStack = 8, int exceptionRegionCount = 0, bool hasSmallExceptionRegions = true, System.Reflection.Metadata.StandaloneSignatureHandle localVariablesSignature = default, System.Reflection.Metadata.Ecma335.MethodBodyAttributes attributes = System.Reflection.Metadata.Ecma335.MethodBodyAttributes.InitLocals, bool hasDynamicStackAllocation = false);
member this.AddMethodBody : int * int * int * bool * System.Reflection.Metadata.StandaloneSignatureHandle * System.Reflection.Metadata.Ecma335.MethodBodyAttributes * bool -> System.Reflection.Metadata.Ecma335.MethodBodyStreamEncoder.MethodBody
Public Function AddMethodBody (codeSize As Integer, Optional maxStack As Integer = 8, Optional exceptionRegionCount As Integer = 0, Optional hasSmallExceptionRegions As Boolean = true, Optional localVariablesSignature As StandaloneSignatureHandle = Nothing, Optional attributes As MethodBodyAttributes = System.Reflection.Metadata.Ecma335.MethodBodyAttributes.InitLocals, Optional hasDynamicStackAllocation As Boolean = false) As MethodBodyStreamEncoder.MethodBody
パラメーター
- codeSize
- Int32
命令用に予約するバイト数。
- maxStack
- Int32
スタックの最大サイズ。
- exceptionRegionCount
- Int32
例外領域の数。
- hasSmallExceptionRegions
- Boolean
true 例外領域を小さい形式でエンコードする必要がある場合。それ以外の場合 false 。
- localVariablesSignature
- StandaloneSignatureHandle
ローカル変数のシグネチャ ハンドル。
- attributes
- MethodBodyAttributes
メソッド本体の属性。
- hasDynamicStackAllocation
- Boolean
true メソッドが動的ローカル メモリ プール ( localloc 命令) から割り当てる場合は >。それ以外の場合 false 。
返品
メソッド本体ストリーム内のエンコードされた本文のオフセット。
例外
codeSize、 exceptionRegionCount、または maxStack が許容範囲外です。