Udostępnij za pośrednictwem


MethodBodyStreamEncoder.AddMethodBody Metoda

Definicja

Przeciążenia

AddMethodBody(InstructionEncoder, Int32, StandaloneSignatureHandle, MethodBodyAttributes)

Koduje treść metody i dodaje ją do strumienia treści metody.

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

Koduje treść metody i dodaje ją do strumienia treści metody przy użyciu dostarczonego kodera instrukcji, maksymalnego rozmiaru stosu, uchwytu sygnatur zmiennych lokalnych, atrybutów treści metody i pozwalając wskazać, czy metoda powinna przydzielić z dynamicznej puli pamięci lokalnej, czy nie.

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

Koduje treść metody i dodaje ją do strumienia treści metody, używając podanego rozmiaru kodu, maksymalnego rozmiaru stosu, liczby regionów wyjątków, uchwytu sygnatur zmiennych lokalnych, atrybutów treści metody i pozwalając wskazać, czy regiony wyjątków powinny być kodowane w małym formacie, czy nie.

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

Koduje treść metody i dodaje ją do strumienia treści metody, używając podanego rozmiaru kodu, maksymalnego rozmiaru stosu, liczby regionów wyjątków, uchwytu sygnatur lokalnych zmiennych lokalnych, atrybutów treści metody, co pozwala wskazać, czy regiony wyjątków powinny być zakodowane w małym formacie, czy nie, i pozwala wskazać, czy metoda powinna być przydzielana z dynamicznej puli pamięci lokalnej, czy nie.

AddMethodBody(InstructionEncoder, Int32, StandaloneSignatureHandle, MethodBodyAttributes)

Źródło:
MethodBodyStreamEncoder.cs
Źródło:
MethodBodyStreamEncoder.cs
Źródło:
MethodBodyStreamEncoder.cs

Koduje treść metody i dodaje ją do strumienia treści 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

Koder instrukcji.

maxStack
Int32

Maksymalny rozmiar stosu.

localVariablesSignature
StandaloneSignatureHandle

Uchwyt podpisu zmiennych lokalnych.

attributes
MethodBodyAttributes

Atrybuty treści metody.

Zwraca

Przesunięcie zakodowanej treści w strumieniu treści metody.

Wyjątki

instructionEncoder ma wartość domyślną.

maxStack jest poza zakresem [0, UInt16.MaxValue].

Etykieta docelowa gałęzi w strumieniu instrukcji nie została oznaczona lub odległość między instrukcją gałęzi a etykietą docelową nie pasuje do rozmiaru operandu instrukcji.

Dotyczy

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

Źródło:
MethodBodyStreamEncoder.cs
Źródło:
MethodBodyStreamEncoder.cs
Źródło:
MethodBodyStreamEncoder.cs

Koduje treść metody i dodaje ją do strumienia treści metody przy użyciu dostarczonego kodera instrukcji, maksymalnego rozmiaru stosu, uchwytu sygnatur zmiennych lokalnych, atrybutów treści metody i pozwalając wskazać, czy metoda powinna przydzielić z dynamicznej puli pamięci lokalnej, czy nie.

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

Koder instrukcji.

maxStack
Int32

Maksymalny rozmiar stosu.

localVariablesSignature
StandaloneSignatureHandle

Uchwyt podpisu zmiennych lokalnych.

attributes
MethodBodyAttributes

Atrybuty treści metody.

hasDynamicStackAllocation
Boolean

true jeśli metoda przydziela się z dynamicznej puli pamięci lokalnej (IL zawiera instrukcję localloc ); false w przeciwnym razie.

Zwraca

Przesunięcie zakodowanej treści w strumieniu treści metody.

Wyjątki

instructionEncoder ma wartość domyślną.

maxStack jest poza zakresem [0, UInt16.MaxValue].

Etykieta docelowa gałęzi w strumieniu instrukcji nie została oznaczona lub odległość między instrukcją gałęzi a etykietą docelową nie pasuje do rozmiaru operandu instrukcji.

Dotyczy

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

Źródło:
MethodBodyStreamEncoder.cs
Źródło:
MethodBodyStreamEncoder.cs
Źródło:
MethodBodyStreamEncoder.cs

Koduje treść metody i dodaje ją do strumienia treści metody, używając podanego rozmiaru kodu, maksymalnego rozmiaru stosu, liczby regionów wyjątków, uchwytu sygnatur zmiennych lokalnych, atrybutów treści metody i pozwalając wskazać, czy regiony wyjątków powinny być kodowane w małym formacie, czy nie.

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

Liczba bajtów, które mają być zarezerwowane w celu uzyskania instrukcji.

maxStack
Int32

Maksymalny rozmiar stosu.

exceptionRegionCount
Int32

Liczba regionów wyjątków.

hasSmallExceptionRegions
Boolean

true jeśli regiony wyjątków powinny być zakodowane w małym formacie; false Inaczej.

localVariablesSignature
StandaloneSignatureHandle

Uchwyt podpisu zmiennych lokalnych.

attributes
MethodBodyAttributes

Atrybuty treści metody.

Zwraca

Przesunięcie zakodowanej treści w strumieniu treści metody.

Wyjątki

codeSize, exceptionRegionCountlub maxStack jest poza dozwolonym zakresem.

Dotyczy

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

Źródło:
MethodBodyStreamEncoder.cs
Źródło:
MethodBodyStreamEncoder.cs
Źródło:
MethodBodyStreamEncoder.cs

Koduje treść metody i dodaje ją do strumienia treści metody, używając podanego rozmiaru kodu, maksymalnego rozmiaru stosu, liczby regionów wyjątków, uchwytu sygnatur lokalnych zmiennych lokalnych, atrybutów treści metody, co pozwala wskazać, czy regiony wyjątków powinny być zakodowane w małym formacie, czy nie, i pozwala wskazać, czy metoda powinna być przydzielana z dynamicznej puli pamięci lokalnej, czy nie.

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

Liczba bajtów, które mają być zarezerwowane w celu uzyskania instrukcji.

maxStack
Int32

Maksymalny rozmiar stosu.

exceptionRegionCount
Int32

Liczba regionów wyjątków.

hasSmallExceptionRegions
Boolean

true jeśli regiony wyjątków powinny być zakodowane w małym formacie; false Inaczej.

localVariablesSignature
StandaloneSignatureHandle

Uchwyt podpisu zmiennych lokalnych.

attributes
MethodBodyAttributes

Atrybuty treści metody.

hasDynamicStackAllocation
Boolean

true jeśli metoda przydziela się z dynamicznej puli pamięci lokalnej ( localloc instrukcja); false w przeciwnym razie.

Zwraca

Przesunięcie zakodowanej treści w strumieniu treści metody.

Wyjątki

codeSize, exceptionRegionCountlub maxStack jest poza dozwolonym zakresem.

Dotyczy