IncrementalGeneratorInitializationContext 구조체
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
호출될 때 Initialize(IncrementalGeneratorInitializationContext) 증분 생성기에 전달되는 컨텍스트
public readonly struct IncrementalGeneratorInitializationContext
type IncrementalGeneratorInitializationContext = struct
Public Structure IncrementalGeneratorInitializationContext
- 상속
-
IncrementalGeneratorInitializationContext
속성
| Name | Description |
|---|---|
| AdditionalTextsProvider |
컴파일에 IncrementalValuesProvider<TValues> 포함된 모든 AdditionalText 파일에 대한 액세스를 제공하는 값을 가져옵니다. 추가 텍스트는 일반적으로 소스 생성을 위한 입력으로 사용할 수 있는 코드가 아닌 파일(예: .txt, .json, .xml)입니다. 추가, 제거 또는 수정된 각 추가 텍스트는 공급자에서 새 값을 트리거합니다. |
| AnalyzerConfigOptionsProvider |
컴파일에 IncrementalValueProvider<TValue> 대한 액세스를 AnalyzerConfigOptionsProvider 제공하는 값을 가져옵니다. .editorconfig 설정 및 기타 분석기 구성 옵션을 읽는 데 사용할 수 있습니다. |
| CompilationProvider |
IncrementalValueProvider<TValue> 처리 중인 항목에 Compilation 대한 액세스를 제공하는 값을 가져옵니다. 이 공급자의 값은 컴파일이 변경될 때마다 변경됩니다(예: 원본 파일, 참조 또는 옵션이 수정됨). |
| MetadataReferencesProvider |
컴파일의 IncrementalValuesProvider<TValues> 모든 MetadataReferences에 대한 액세스를 제공하는 값을 가져옵니다. 추가, 제거 또는 수정된 각 메타데이터 참조(예: 참조된 어셈블리)는 공급자에서 새 값을 트리거합니다. |
| ParseOptionsProvider |
컴파일에 IncrementalValueProvider<TValue> 대한 액세스를 ParseOptions 제공하는 값을 가져옵니다. 구문 분석 옵션이 변경(예: 언어 버전 또는 전처리기 기호)될 때마다 이 공급자의 값이 변경됩니다. |
| SyntaxProvider |
SyntaxValueProvider 증분 생성기 파이프라인에 대한 구문 기반 입력 노드를 만드는 데 사용할 수 있는 노드를 가져옵니다. 컴파일에서 구문 노드를 필터링하고 변환하는 콜백을 등록하는 데 사용합니다. |
메서드
| Name | Description |
|---|---|
| RegisterHostOutput<TSource>(IncrementalValueProvider<TSource>, Action<HostOutputProductionContext,TSource>) |
컴파일에 추가되지 않은 호스트별 출력을 생성하는 출력 노드를 등록합니다. 호스트 출력은 정의된 용도가 없으며 최종 컴파일에 기여하지 않습니다. 호스트(즉, Visual Studio, dotnet 빌드 등과 같이 생성기를 실행하는 개발 환경 또는 빌드 시스템) HostOutputs 에서 사용할 수 있게 되며, 이를 사용하는 방법은 호스트가 결정해야 합니다. 제공된 작업은 변경될 때마다 공급자의 값으로 호출됩니다. |
| RegisterHostOutput<TSource>(IncrementalValuesProvider<TSource>, Action<HostOutputProductionContext,TSource>) |
컴파일에 추가되지 않은 호스트별 출력을 생성하는 출력 노드를 등록합니다. 호스트 출력은 정의된 용도가 없으며 최종 컴파일에 기여하지 않습니다. 호스트(즉, Visual Studio, dotnet 빌드 등과 같이 생성기를 실행하는 개발 환경 또는 빌드 시스템) HostOutputs 에서 사용할 수 있게 되며, 이를 사용하는 방법은 호스트가 결정해야 합니다. 제공된 작업은 변경될 때마다 공급자의 각 값에 대해 한 번 호출됩니다. |
| RegisterImplementationSourceOutput<TSource>(IncrementalValueProvider<TSource>, Action<SourceProductionContext,TSource>) |
컴파일에 추가할 구현 소스 코드를 생성하는 출력 노드를 등록합니다. 구현 원본은 일부 시나리오에서 일반 원본과 다르게 처리되며 특정 컴파일 출력에서 제외될 수 있습니다. 제공된 작업은 변경될 때마다 공급자의 값으로 호출됩니다. |
| RegisterImplementationSourceOutput<TSource>(IncrementalValuesProvider<TSource>, Action<SourceProductionContext,TSource>) |
컴파일에 추가할 구현 소스 코드를 생성하는 출력 노드를 등록합니다. 구현 원본은 일부 시나리오에서 일반 원본과 다르게 처리되며 특정 컴파일 출력에서 제외될 수 있습니다. 제공된 작업은 변경될 때마다 공급자의 각 값에 대해 한 번 호출됩니다. |
| RegisterPostInitializationOutput(Action<IncrementalGeneratorPostInitializationContext>) |
다른 원본 생성이 발생하기 전에 한 번 호출될 콜백을 등록합니다. 일반적으로 특성 정의와 같은 후속 생성 단계에서 사용할 수 있어야 하는 소스 코드를 추가하는 데 사용됩니다. 생성된 형식을 현재 어셈블리의 내부 형식으로 표시하는 EmbeddedAttribute를 추가하는 데 사용합니다 AddEmbeddedAttributeDefinition() . |
| RegisterSourceOutput<TSource>(IncrementalValueProvider<TSource>, Action<SourceProductionContext,TSource>) |
컴파일에 추가할 소스 코드를 생성할 출력 노드를 등록합니다. 제공된 작업은 변경될 때마다 공급자의 값으로 호출됩니다. |
| RegisterSourceOutput<TSource>(IncrementalValuesProvider<TSource>, Action<SourceProductionContext,TSource>) |
컴파일에 추가할 소스 코드를 생성할 출력 노드를 등록합니다. 제공된 작업은 변경될 때마다 공급자의 각 값에 대해 한 번 호출됩니다. |