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
メソッドが動的ローカル メモリ プールから割り当てられる場合 (IL には localloc
命令が含まれます) は true
。それ以外の場合は 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
メソッドが動的ローカル メモリ プールから割り当てられる場合 (IL には localloc
命令) は true
。それ以外の場合は false
。
戻り値
メソッド本体ストリーム内のエンコードされた本体のオフセット。
例外
codeSize
、exceptionRegionCount
、または maxStack
が許容範囲外です。
適用対象
.NET