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

Атрибуты текста метода.

Возвращаемое значение

Смещение закодированного текста в потоке текста метода.

Исключения

codeSize, exceptionRegionCountили 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 в противном случае.

Возвращаемое значение

Смещение закодированного текста в потоке текста метода.

Исключения

codeSize, exceptionRegionCountили maxStack выходит из допустимого диапазона.

Применяется к