다음을 통해 공유


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 동적 어셈블리(MethodBuilderConstructorBuilder 클래스로 표시됨) 및 독립 실행형 동적 메서드(DynamicMethod 클래스로 표현됨)에서 메서드 및 생성자에 대한 메서드 본문을 생성하는 데 사용됩니다. ILGenerator가져오려면 ConstructorBuilder.GetILGenerator, DynamicMethod.GetILGeneratorMethodBuilder.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) 명령 스트림에서 최종 블록을 시작합니다.

BeginScope()

어휘 범위를 시작합니다.

CreateLabel(Int32)

지정된 ID를 사용하여 Label 만듭니다.

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 중간 언어) 스트림에 배치하여 varargs 메서드를 호출합니다.

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

간접 호출에 대한 관리되지 않는 호출 규칙을 지정하여 msIL(Microsoft Intermediate Language) 스트림에 Calli 명령을 넣습니다.

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

간접 호출에 대한 관리되는 호출 규칙을 지정하여 msIL(Microsoft Intermediate Language) 스트림에 Calli 명령을 넣습니다.

EmitWriteLine(FieldInfo)

지정된 필드를 사용하여 WriteLine 호출하는 데 필요한 MSIL(Microsoft Intermediate Language)을 내보낸다.

EmitWriteLine(LocalBuilder)

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

EmitWriteLine(String)

MSIL(Microsoft Intermediate Language)을 내보내 문자열을 사용하여 WriteLine 호출합니다.

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) 스트림에서 시퀀스 지점을 표시합니다.

MarkSequencePointCore(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)

개체에 의해 노출되는 속성 및 메서드에 대한 액세스를 제공합니다.

적용 대상