MethodBodyStreamEncoder.AddMethodBody メソッド

定義

オーバーロード

名前 説明
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)

ソース:
MethodBodyStreamEncoder.cs
ソース:
MethodBodyStreamEncoder.cs
ソース:
MethodBodyStreamEncoder.cs
ソース:
MethodBodyStreamEncoder.cs
ソース:
MethodBodyStreamEncoder.cs
ソース:
MethodBodyStreamEncoder.cs
ソース:
MethodBodyStreamEncoder.cs

メソッド本体をエンコードし、メソッド本体ストリームに追加します。

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)

ソース:
MethodBodyStreamEncoder.cs
ソース:
MethodBodyStreamEncoder.cs
ソース:
MethodBodyStreamEncoder.cs
ソース:
MethodBodyStreamEncoder.cs
ソース:
MethodBodyStreamEncoder.cs
ソース:
MethodBodyStreamEncoder.cs
ソース:
MethodBodyStreamEncoder.cs

メソッド本体をエンコードし、指定された命令エンコーダー、最大スタック サイズ、ローカル変数のシグネチャ ハンドル、メソッド本体の属性を使用してメソッド本体ストリームに追加し、メソッドが動的ローカル メモリ プールから割り当てるかどうかを示すことができます。

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)

ソース:
MethodBodyStreamEncoder.cs
ソース:
MethodBodyStreamEncoder.cs
ソース:
MethodBodyStreamEncoder.cs
ソース:
MethodBodyStreamEncoder.cs
ソース:
MethodBodyStreamEncoder.cs
ソース:
MethodBodyStreamEncoder.cs
ソース:
MethodBodyStreamEncoder.cs

メソッド本体をエンコードし、指定されたコード サイズ、最大スタック サイズ、例外領域の数、ローカル変数のシグネチャ ハンドル、メソッド本体の属性を使用して、メソッド本体ストリームに追加し、例外領域を小さな形式でエンコードするかどうかを示します。

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

メソッド本体の属性。

返品

メソッド本体ストリーム内のエンコードされた本文のオフセット。

例外

codeSizeexceptionRegionCount、または maxStack が許容範囲外です。

適用対象

AddMethodBody(Int32, Int32, Int32, Boolean, StandaloneSignatureHandle, MethodBodyAttributes, Boolean)

ソース:
MethodBodyStreamEncoder.cs
ソース:
MethodBodyStreamEncoder.cs
ソース:
MethodBodyStreamEncoder.cs
ソース:
MethodBodyStreamEncoder.cs
ソース:
MethodBodyStreamEncoder.cs
ソース:
MethodBodyStreamEncoder.cs
ソース:
MethodBodyStreamEncoder.cs

メソッド本体をエンコードし、指定されたコード サイズ、最大スタック サイズ、例外領域の数、ローカル変数のシグネチャ ハンドル、メソッド本体の属性を使用して、メソッド本体ストリームに追加します。これにより、例外領域を小さな形式でエンコードする必要があるかどうかを示し、メソッドが動的ローカル メモリ プールから割り当てるかどうかを示すことができます。

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

返品

メソッド本体ストリーム内のエンコードされた本文のオフセット。

例外

codeSizeexceptionRegionCount、または maxStack が許容範囲外です。

適用対象