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 выходит из допустимого диапазона.