Поделиться через


DynamicILInfo.SetCode Метод

Определение

Задает основной текст кода связанного динамического метода.

Перегрузки

SetCode(Byte[], Int32)

Задает основной текст кода связанного динамического метода.

SetCode(Byte*, Int32, Int32)

Задает основной текст кода связанного динамического метода.

SetCode(Byte[], Int32)

Исходный код:
DynamicILGenerator.cs
Исходный код:
DynamicILGenerator.cs
Исходный код:
DynamicILGenerator.cs

Задает основной текст кода связанного динамического метода.

public:
 void SetCode(cli::array <System::Byte> ^ code, int maxStackSize);
public void SetCode (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: определение и семантика метаданных и семантикой и разделом III. Набор инструкций CIL. Дополнительные сведения см. в статье ECMA 335 Common Language Infrastructure (CLI).

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

SetCode(Byte*, Int32, Int32)

Исходный код:
DynamicILGenerator.cs
Исходный код:
DynamicILGenerator.cs
Исходный код:
DynamicILGenerator.cs

Важно!

Этот 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), в частности с разделом II: определение и семантика метаданных и семантикой и Раздел III. Набор инструкций CIL. Дополнительные сведения см. в статье ECMA 335 Common Language Infrastructure (CLI).

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