英語で読む

次の方法で共有


MethodBuilder.SetMethodBody メソッド

定義

Microsoft intermediate language (MSIL) の命令の指定したバイト配列を使用して、メソッドの本体を作成します。

C#
public void SetMethodBody(byte[] il, int maxStack, byte[] localSignature, System.Collections.Generic.IEnumerable<System.Reflection.Emit.ExceptionHandler> exceptionHandlers, System.Collections.Generic.IEnumerable<int> tokenFixups);

パラメーター

il
Byte[]

有効な MSIL 命令を含む配列。

maxStack
Int32

スタック評価の最大深度。

localSignature
Byte[]

シリアル化されたローカル変数の構造を含むバイト配列。 メソッドにローカル変数がない場合は、null を指定します。

exceptionHandlers
IEnumerable<ExceptionHandler>

メソッドの例外ハンドラーを含むコレクション。 メソッドに例外ハンドラーがない場合は、null を指定します。

tokenFixups
IEnumerable<Int32>

il のオフセットを表す値のコレクション。それぞれが、変更される可能性のあるトークンの先頭を指定します。 変更する必要のあるトークンがメソッドにない場合は、null を指定します。

例外

ilnullです。

maxStack が負の値です。

- または -

exceptionHandlers のいずれかが、il 外のオフセットを指定しています。

- または -

tokenFixups のいずれかが、il 配列外のオフセットを指定しています。

含んでいる型は、CreateType() メソッドを使用して以前に作成されています。

- または -

このメソッドはこの MethodBuilder オブジェクトで以前に呼び出されています。

適用対象

製品 バージョン
.NET Framework 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1