ILGenerator 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
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는 동적 어셈블리(및 ConstructorBuilder 클래스로 표시 MethodBuilder 됨)의 메서드 및 생성자 및 독립 실행형 동적 메서드(클래스로 DynamicMethod 표현됨)에 대한 메서드 본문을 생성하는 데 사용됩니다. 를 ILGenerator가져오려면 , DynamicMethod.GetILGenerator및 MethodBuilder.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[]) |
|
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) 스트림에 시퀀스 위치를 표시합니다. |
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) |
개체에서 노출하는 메서드와 속성에 대한 액세스를 제공합니다. |
적용 대상
.NET
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기