DynamicILInfo.SetCode Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Задает текст кода связанного динамического метода.
Перегрузки
| Имя | Описание |
|---|---|
| SetCode(Byte[], Int32) |
Задает текст кода связанного динамического метода. |
| SetCode(Byte*, Int32, Int32) |
Задает текст кода связанного динамического метода. |
SetCode(Byte[], Int32)
Задает текст кода связанного динамического метода.
public:
void SetCode(cli::array <System::Byte> ^ code, int maxStackSize);
public void SetCode(byte[] code, int maxStackSize);
member this.SetCode : byte[] * int -> unit
Public Sub SetCode (code As Byte(), maxStackSize As Integer)
Параметры
- code
- Byte[]
Массив, содержащий поток MSIL.
- maxStackSize
- Int32
Максимальное количество элементов в стеке операнда при выполнении метода.
Комментарии
Проверка действительности не выполняется в потоке MSIL.
Вызов этого метода во второй раз заменяет первый поток MSIL вторым.
Для создания собственных метаданных и MSIL требуется знакомство с документацией по инфраструктуре общего языка (CLI), особенно "Секция II: определение метаданных и семантика" и "Набор инструкций Partition III: CIL". Дополнительные сведения см. в статье ECMA 335 Common Language Infrastructure (CLI).
Применяется к
SetCode(Byte*, Int32, Int32)
Внимание
Этот API несовместим с CLS.
- Альтернативный вариант, совместимый с CLS
- System.Reflection.Emit.DynamicILInfo.SetCode(Byte[], Int32)
Задает текст кода связанного динамического метода.
public:
void SetCode(System::Byte* code, int codeSize, int maxStackSize);
[System.CLSCompliant(false)]
public void SetCode(byte* code, int codeSize, int maxStackSize);
[System.CLSCompliant(false)]
[System.Security.SecurityCritical]
public void SetCode(byte* code, int codeSize, int maxStackSize);
[<System.CLSCompliant(false)>]
member this.SetCode : nativeptr<byte> * int * int -> unit
[<System.CLSCompliant(false)>]
[<System.Security.SecurityCritical>]
member this.SetCode : nativeptr<byte> * int * int -> unit
Параметры
- code
- Byte*
Указатель на массив байтов, содержащий поток MSIL.
- codeSize
- Int32
Количество байтов в потоке MSIL.
- maxStackSize
- Int32
Максимальное количество элементов в стеке операнда при выполнении метода.
- Атрибуты
Исключения
code имеет null значение и codeSize больше 0.
codeSize меньше 0.
Комментарии
Проверка действительности не выполняется в потоке MSIL.
Вызов этого метода во второй раз заменяет первый поток MSIL вторым.
Для создания собственных метаданных и MSIL требуется ознакомиться с документацией по инфраструктуре общего языка (CLI), особенно "Partition II: Metadata Definition and Semantics" (Определение метаданных и семантика) и Partition III: CIL Instruction Set(CIL). Дополнительные сведения см. в статье ECMA 335 Common Language Infrastructure (CLI).