DynamicILInfo.SetCode 方法

定义

设置关联动态方法的代码体。

重载

SetCode(Byte[], Int32)

设置关联动态方法的代码体。

SetCode(Byte*, Int32, Int32)

设置关联动态方法的代码体。

SetCode(Byte[], Int32)

Source:
DynamicILGenerator.cs
Source:
DynamicILGenerator.cs
Source:
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 流。

生成自己的元数据和 MSIL 需要熟悉公共语言基础结构 (CLI) 文档,特别是“分区 II:元数据定义和语义”和“分区 III:CIL 指令集”。 有关详细信息,请参阅 ECMA 335 公共语言基础结构 (CLI)

适用于

SetCode(Byte*, Int32, Int32)

Source:
DynamicILGenerator.cs
Source:
DynamicILGenerator.cs
Source:
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

执行方法时操作数堆栈上的项的最大数目。

属性

例外

codenullcodeSize 大于零。

codeSize 小于 0。

注解

不会对 MSIL 流执行任何有效性检查。

第二次调用此方法会将第一个 MSIL 流替换为第二个 MSIL 流。

生成自己的元数据和 MSIL 需要熟悉公共语言基础结构 (CLI) 文档,特别是“分区 II:元数据定义和语义”和“分区 III:CIL 指令集”。有关详细信息,请参阅 ECMA 335 公共语言基础结构 (CLI)

适用于