Sdílet prostřednictvím


MethodBodyStreamEncoder.AddMethodBody Metoda

Definice

Přetížení

AddMethodBody(InstructionEncoder, Int32, StandaloneSignatureHandle, MethodBodyAttributes)

Zakóduje tělo metody a přidá ho do datového proudu těla metody.

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

Zakóduje tělo metody a přidá ho do datového proudu těla metody pomocí poskytnutého kodéru instrukce, maximální velikosti zásobníku, popisovače podpisu místních proměnných, atributů těla metody a umožňuje určit, zda má metoda přidělit z dynamického fondu místní paměti nebo ne.

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

Zakóduje tělo metody a přidá ho do streamu těla metody pomocí zadané velikosti kódu, maximální velikosti zásobníku, počtu oblastí výjimek, popisovače podpisu místních proměnných, atributů těla metody a umožňuje určit, zda mají být oblasti výjimek kódovány v malém formátu nebo ne.

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

Zakóduje tělo metody a přidá ho do datového proudu těla metody pomocí zadané velikosti kódu, maximální velikosti zásobníku, počtu oblastí výjimek, popisovače místních proměnných, atributů těla metody, což umožňuje určit, zda mají být oblasti výjimek kódovány v malém formátu nebo ne, a umožňuje určit, zda by metoda měla nebo neměla přidělit z dynamického fondu místní paměti.

AddMethodBody(InstructionEncoder, Int32, StandaloneSignatureHandle, MethodBodyAttributes)

Zdroj:
MethodBodyStreamEncoder.cs
Zdroj:
MethodBodyStreamEncoder.cs
Zdroj:
MethodBodyStreamEncoder.cs

Zakóduje tělo metody a přidá ho do datového proudu těla metody.

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

Parametry

instructionEncoder
InstructionEncoder

Instrukční kodér.

maxStack
Int32

Maximální velikost zásobníku

localVariablesSignature
StandaloneSignatureHandle

Popisovač podpisu místních proměnných

attributes
MethodBodyAttributes

Atributy těla metody.

Návraty

Posun zakódovaného těla v rámci streamu těla metody.

Výjimky

instructionEncoder má výchozí hodnotu.

maxStack je mimo rozsah [0, UInt16.MaxValue].

Popisek, na který cílí větev v instrukčním streamu, nebyl označen nebo vzdálenost mezi větev instrukce a cílovým popiskem neodpovídá velikosti operandu instrukce.

Platí pro

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

Zdroj:
MethodBodyStreamEncoder.cs
Zdroj:
MethodBodyStreamEncoder.cs
Zdroj:
MethodBodyStreamEncoder.cs

Zakóduje tělo metody a přidá ho do datového proudu těla metody pomocí poskytnutého kodéru instrukce, maximální velikosti zásobníku, popisovače podpisu místních proměnných, atributů těla metody a umožňuje určit, zda má metoda přidělit z dynamického fondu místní paměti nebo ne.

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

Parametry

instructionEncoder
InstructionEncoder

Instrukční kodér.

maxStack
Int32

Maximální velikost zásobníku

localVariablesSignature
StandaloneSignatureHandle

Popisovač podpisu místních proměnných

attributes
MethodBodyAttributes

Atributy těla metody.

hasDynamicStackAllocation
Boolean

true pokud metoda přiděluje z dynamického fondu místní paměti (IL obsahuje localloc instrukce), false jinak.

Návraty

Posun zakódovaného těla v rámci streamu těla metody.

Výjimky

instructionEncoder má výchozí hodnotu.

maxStack je mimo rozsah [0, UInt16.MaxValue].

Popisek, na který cílí větev v instrukčním streamu, nebyl označen nebo vzdálenost mezi větev instrukce a cílovým popiskem neodpovídá velikosti operandu instrukce.

Platí pro

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

Zdroj:
MethodBodyStreamEncoder.cs
Zdroj:
MethodBodyStreamEncoder.cs
Zdroj:
MethodBodyStreamEncoder.cs

Zakóduje tělo metody a přidá ho do streamu těla metody pomocí zadané velikosti kódu, maximální velikosti zásobníku, počtu oblastí výjimek, popisovače podpisu místních proměnných, atributů těla metody a umožňuje určit, zda mají být oblasti výjimek kódovány v malém formátu nebo ne.

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

Parametry

codeSize
Int32

Počet bajtů, které mají být rezervovány pro pokyny.

maxStack
Int32

Maximální velikost zásobníku

exceptionRegionCount
Int32

Počet oblastí výjimek

hasSmallExceptionRegions
Boolean

true pokud mají být oblasti výjimek kódovány v malém formátu; false Jinak.

localVariablesSignature
StandaloneSignatureHandle

Popisovač podpisu místních proměnných

attributes
MethodBodyAttributes

Atributy těla metody.

Návraty

Posun zakódovaného těla v rámci streamu těla metody.

Výjimky

codeSize, exceptionRegionCountnebo maxStack je mimo povolený rozsah.

Platí pro

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

Zdroj:
MethodBodyStreamEncoder.cs
Zdroj:
MethodBodyStreamEncoder.cs
Zdroj:
MethodBodyStreamEncoder.cs

Zakóduje tělo metody a přidá ho do datového proudu těla metody pomocí zadané velikosti kódu, maximální velikosti zásobníku, počtu oblastí výjimek, popisovače místních proměnných, atributů těla metody, což umožňuje určit, zda mají být oblasti výjimek kódovány v malém formátu nebo ne, a umožňuje určit, zda by metoda měla nebo neměla přidělit z dynamického fondu místní paměti.

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

Parametry

codeSize
Int32

Počet bajtů, které mají být rezervovány pro pokyny.

maxStack
Int32

Maximální velikost zásobníku

exceptionRegionCount
Int32

Počet oblastí výjimek

hasSmallExceptionRegions
Boolean

true pokud mají být oblasti výjimek kódovány v malém formátu; false Jinak.

localVariablesSignature
StandaloneSignatureHandle

Popisovač podpisu místních proměnných

attributes
MethodBodyAttributes

Atributy těla metody.

hasDynamicStackAllocation
Boolean

true pokud metoda přiděluje z dynamického fondu místní paměti ( localloc instrukce), false v opačném případě.

Návraty

Posun zakódovaného těla v rámci streamu těla metody.

Výjimky

codeSize, exceptionRegionCountnebo maxStack je mimo povolený rozsah.

Platí pro