ILGenerator 클래스

정의

MSIL(Microsoft Intermediate Language) 명령을 생성합니다.

public ref class ILGenerator
public ref class ILGenerator abstract
public ref class ILGenerator : System::Runtime::InteropServices::_ILGenerator
public class ILGenerator
public abstract class ILGenerator
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
public class ILGenerator : System.Runtime.InteropServices._ILGenerator
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
[System.Runtime.InteropServices.ComVisible(true)]
public class ILGenerator : System.Runtime.InteropServices._ILGenerator
type ILGenerator = class
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
type ILGenerator = class
    interface _ILGenerator
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type ILGenerator = class
    interface _ILGenerator
Public Class ILGenerator
Public MustInherit Class ILGenerator
Public Class ILGenerator
Implements _ILGenerator
상속
ILGenerator
특성
구현

설명

ILGenerator 는 동적 어셈블리(및 클래스로 표시 MethodBuilder 됨)의 메서드 및 생성자에 대한 메서드 본문과 ConstructorBuilder 독립 실행형 동적 메서드(클래스로 DynamicMethod 표현됨)에 대한 메서드 본문을 생성하는 데 사용됩니다. 를 ILGenerator가져오려면 , DynamicMethod.GetILGeneratorMethodBuilder.GetILGenerator 메서드를 ConstructorBuilder.GetILGenerator사용합니다.

MSIL은 JIT(Just-In-Time) 컴파일러에 대한 입력으로 사용됩니다.

생성자

ILGenerator()

ILGenerator 클래스의 새 인스턴스를 초기화합니다.

속성

ILOffset

ILGenerator에서 내보내는 MSIL(Microsoft Intermediate Language) 스트림의 현재 오프셋을 바이트 단위로 가져옵니다.

메서드

BeginCatchBlock(Type)

catch 블록을 시작합니다.

BeginExceptFilterBlock()

필터링된 예외에 대한 예외 블록을 시작합니다.

BeginExceptionBlock()

필터링되지 않은 예외에 대한 예외 블록을 시작합니다.

BeginFaultBlock()

MSIL(Microsoft Intermediate Language) 스트림의 예외 오류 블록을 시작합니다.

BeginFinallyBlock()

MSIL(Microsoft Intermediate Language) 명령 스트림의 finally 블록을 시작합니다.

BeginScope()

어휘 범위를 시작합니다.

CreateLabel(Int32)

MSIL(Microsoft Intermediate Language) 명령을 생성합니다.

DeclareLocal(Type)

지정한 형식의 지역 변수를 선언합니다.

DeclareLocal(Type, Boolean)

지정한 형식의 지역 변수를 선언하고, 선택적으로 해당 변수가 참조하는 개체를 고정합니다.

DefineLabel()

새 레이블을 선언합니다.

Emit(OpCode)

명령 스트림에 지정된 명령을 배치합니다.

Emit(OpCode, Byte)

지정된 명령 및 문자 인수를 MSIL(Microsoft Intermediate Language) 명령 스트림에 배치합니다.

Emit(OpCode, ConstructorInfo)

MSIL(Microsoft Intermediate Language) 명령 스트림에 지정된 명령 및 지정된 생성자에 대한 메타데이터 토큰을 배치합니다.

Emit(OpCode, Double)

지정된 명령 및 숫자 인수를 MSIL(Microsoft Intermediate Language) 명령 스트림에 배치합니다.

Emit(OpCode, FieldInfo)

MSIL(Microsoft Intermediate Language) 명령 스트림에 지정된 명령 및 지정된 필드에 대한 메타데이터 토큰을 배치합니다.

Emit(OpCode, Int16)

지정된 명령 및 숫자 인수를 MSIL(Microsoft Intermediate Language) 명령 스트림에 배치합니다.

Emit(OpCode, Int32)

지정된 명령 및 숫자 인수를 MSIL(Microsoft Intermediate Language) 명령 스트림에 배치합니다.

Emit(OpCode, Int64)

지정된 명령 및 숫자 인수를 MSIL(Microsoft Intermediate Language) 명령 스트림에 배치합니다.

Emit(OpCode, Label)

지정된 명령을 MSIL(Microsoft Intermediate Language) 스트림에 배치하고 고정이 완료되면 레이블을 포함할 공간을 남겨 둡니다.

Emit(OpCode, Label[])

지정된 명령을 MSIL(Microsoft Intermediate Language) 스트림에 배치하고 고정이 완료되면 레이블을 포함할 공간을 남겨 둡니다.

Emit(OpCode, LocalBuilder)

MSIL(Microsoft Intermediate Language) 스트림에 지정된 명령을 배치합니다. 해당 스트림 다음에는 지정된 지역 변수에 대한 메타데이터 인덱스가 옵니다.

Emit(OpCode, MethodInfo)

지정된 명령을 MSIL(Microsoft Intermediate Language) 스트림에 배치합니다. 해당 스트림 다음에는 지정한 메서드에 대한 메타데이터 토큰이 옵니다.

Emit(OpCode, SByte)

지정된 명령 및 문자 인수를 MSIL(Microsoft Intermediate Language) 명령 스트림에 배치합니다.

Emit(OpCode, SignatureHelper)

MSIL(Microsoft Intermediate Language) 명령 스트림에 지정된 명령 및 시그니처 토큰을 배치합니다.

Emit(OpCode, Single)

지정된 명령 및 숫자 인수를 MSIL(Microsoft Intermediate Language) 명령 스트림에 배치합니다.

Emit(OpCode, String)

지정된 명령을 MSIL(Microsoft Intermediate Language) 스트림에 배치합니다. 해당 스트림 다음에는 지정한 문자열에 대한 메타데이터 토큰이 옵니다.

Emit(OpCode, Type)

지정된 명령을 MSIL(Microsoft Intermediate Language) 스트림에 배치합니다. 해당 스트림 다음에는 지정한 형식에 대한 메타데이터 토큰이 옵니다.

EmitCall(OpCode, MethodInfo, Type[])

call 또는 callvirt 명령을 MSIL(Microsoft intermediate language) 스트림에 배치하여 varargs 메서드를 호출합니다.

EmitCalli(OpCode, CallingConvention, Type, Type[])

간접 호출에 대해 관리되지 않는 호출을 지정하여 Calli 명령을 MSIL(Microsoft Intermediate Language) 스트림에 배치합니다.

EmitCalli(OpCode, CallingConventions, Type, Type[], Type[])

간접 호출에 대해 관리되는 호출을 지정하여 Calli 명령을 MSIL(Microsoft Intermediate Language) 스트림에 배치합니다.

EmitWriteLine(FieldInfo)

지정한 필드로 WriteLine을 호출하는 데 필요한 MSIL(Microsoft Intermediate Language)을 내보냅니다.

EmitWriteLine(LocalBuilder)

지정된 로컬 변수를 사용하여 WriteLine을 호출하는 데 필요한 MSIL(Microsoft 중간 언어)를 내보냅니다.

EmitWriteLine(String)

문자열로 WriteLine을 호출하는 MSIL(Microsoft Intermediate Language)을 내보냅니다.

EndExceptionBlock()

예외 블록을 끝냅니다.

EndScope()

어휘 범위를 종료합니다.

Equals(Object)

지정된 개체가 현재 개체와 같은지 확인합니다.

(다음에서 상속됨 Object)
GetHashCode()

기본 해시 함수로 작동합니다.

(다음에서 상속됨 Object)
GetType()

현재 인스턴스의 Type을 가져옵니다.

(다음에서 상속됨 Object)
MarkLabel(Label)

지정된 레이블로 MSIL(Microsoft Intermediate Language) 스트림의 현재 위치를 표시합니다.

MarkSequencePoint(ISymbolDocumentWriter, Int32, Int32, Int32, Int32)

MSIL(Microsoft Intermediate Language) 스트림에 시퀀스 위치를 표시합니다.

MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
ThrowException(Type)

예외를 throw하는 명령을 내보냅니다.

ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)
UsingNamespace(String)

지역 변수를 계산하는 데 사용되는 네임스페이스를 지정하고 현재 활성화된 어휘의 범위를 조사합니다.

명시적 인터페이스 구현

_ILGenerator.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

이름 집합을 해당하는 디스패치 식별자 집합에 매핑합니다.

_ILGenerator.GetTypeInfo(UInt32, UInt32, IntPtr)

인터페이스의 형식 정보를 가져오는 데 사용할 수 있는 개체의 형식 정보를 검색합니다.

_ILGenerator.GetTypeInfoCount(UInt32)

개체에서 제공하는 형식 정보 인터페이스의 수를 검색합니다(0 또는 1).

_ILGenerator.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

개체에서 노출하는 메서드와 속성에 대한 액세스를 제공합니다.

적용 대상