IncrementalGeneratorInitializationContext Struktur
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Konteks diteruskan ke generator bertahap saat Initialize(IncrementalGeneratorInitializationContext) dipanggil
public readonly struct IncrementalGeneratorInitializationContext
type IncrementalGeneratorInitializationContext = struct
Public Structure IncrementalGeneratorInitializationContext
- Warisan
-
IncrementalGeneratorInitializationContext
Properti
| Nama | Deskripsi |
|---|---|
| AdditionalTextsProvider |
Mendapatkan yang IncrementalValuesProvider<TValues> menyediakan akses ke semua AdditionalText file yang disertakan dalam kompilasi. Teks tambahan biasanya merupakan file non-kode (seperti .txt, .json, .xml) yang dapat digunakan sebagai input untuk pembuatan sumber. Setiap teks tambahan yang ditambahkan, dihapus, atau dimodifikasi akan memicu nilai baru di penyedia. |
| AnalyzerConfigOptionsProvider |
Mendapatkan yang IncrementalValueProvider<TValue> menyediakan akses ke AnalyzerConfigOptionsProvider untuk kompilasi. Ini dapat digunakan untuk membaca pengaturan .editorconfig dan opsi konfigurasi penganalisis lainnya. |
| CompilationProvider |
Mendapatkan yang IncrementalValueProvider<TValue> menyediakan akses ke yang sedang diproses Compilation . Nilai penyedia ini berubah setiap kali kompilasi berubah (misalnya, file sumber, referensi, atau opsi dimodifikasi). |
| MetadataReferencesProvider |
Mendapatkan yang IncrementalValuesProvider<TValues> menyediakan akses ke semua MetadataReferencedalam kompilasi. Setiap referensi metadata (misalnya, rakitan yang dirujuk) yang ditambahkan, dihapus, atau dimodifikasi akan memicu nilai baru di penyedia. |
| ParseOptionsProvider |
Mendapatkan yang IncrementalValueProvider<TValue> menyediakan akses ke ParseOptions untuk kompilasi. Nilai penyedia ini berubah setiap kali opsi penguraian berubah (misalnya, versi bahasa atau simbol pra-prosesor). |
| SyntaxProvider |
SyntaxValueProvider Mendapatkan yang dapat digunakan untuk membuat simpul input berbasis sintaks untuk alur generator inkremental. Gunakan ini untuk mendaftarkan panggilan balik yang memfilter dan mengubah simpul sintaks dalam kompilasi. |
Metode
| Nama | Deskripsi |
|---|---|
| RegisterHostOutput<TSource>(IncrementalValueProvider<TSource>, Action<HostOutputProductionContext,TSource>) |
Mendaftarkan simpul output yang akan menghasilkan output khusus host yang tidak ditambahkan ke kompilasi. Output host tidak memiliki penggunaan yang ditentukan dan tidak berkontribusi pada kompilasi akhir. Mereka tersedia untuk host (yaitu, lingkungan pengembangan atau sistem build yang menjalankan generator, seperti Visual Studio, build dotnet, dll.) melalui HostOutputs dan terserah host untuk memutuskan cara menggunakannya. Tindakan yang disediakan akan dipanggil dengan nilai dari penyedia setiap kali berubah. |
| RegisterHostOutput<TSource>(IncrementalValuesProvider<TSource>, Action<HostOutputProductionContext,TSource>) |
Mendaftarkan simpul output yang akan menghasilkan output khusus host yang tidak ditambahkan ke kompilasi. Output host tidak memiliki penggunaan yang ditentukan dan tidak berkontribusi pada kompilasi akhir. Mereka tersedia untuk host (yaitu, lingkungan pengembangan atau sistem build yang menjalankan generator, seperti Visual Studio, build dotnet, dll.) melalui HostOutputs dan terserah host untuk memutuskan cara menggunakannya. Tindakan yang disediakan akan dipanggil sekali untuk setiap nilai dari penyedia setiap kali berubah. |
| RegisterImplementationSourceOutput<TSource>(IncrementalValueProvider<TSource>, Action<SourceProductionContext,TSource>) |
Mendaftarkan simpul output yang akan menghasilkan kode sumber implementasi untuk ditambahkan ke kompilasi. Sumber implementasi diperlakukan secara berbeda dari sumber reguler dalam beberapa skenario dan dapat dikecualikan dari output kompilasi tertentu. Tindakan yang disediakan akan dipanggil dengan nilai dari penyedia setiap kali berubah. |
| RegisterImplementationSourceOutput<TSource>(IncrementalValuesProvider<TSource>, Action<SourceProductionContext,TSource>) |
Mendaftarkan simpul output yang akan menghasilkan kode sumber implementasi untuk ditambahkan ke kompilasi. Sumber implementasi diperlakukan secara berbeda dari sumber reguler dalam beberapa skenario dan dapat dikecualikan dari output kompilasi tertentu. Tindakan yang disediakan akan dipanggil sekali untuk setiap nilai dari penyedia setiap kali berubah. |
| RegisterPostInitializationOutput(Action<IncrementalGeneratorPostInitializationContext>) |
Mendaftarkan panggilan balik yang akan dipanggil sekali, sebelum pembuatan sumber lainnya terjadi. Ini biasanya digunakan untuk menambahkan kode sumber yang harus tersedia untuk langkah-langkah pembuatan berikutnya, seperti definisi atribut. Gunakan AddEmbeddedAttributeDefinition() untuk menambahkan EmbeddedAttribute yang menandai jenis yang dihasilkan sebagai internal ke rakitan saat ini. |
| RegisterSourceOutput<TSource>(IncrementalValueProvider<TSource>, Action<SourceProductionContext,TSource>) |
Mendaftarkan simpul output yang akan menghasilkan kode sumber yang akan ditambahkan ke kompilasi. Tindakan yang disediakan akan dipanggil dengan nilai dari penyedia setiap kali berubah. |
| RegisterSourceOutput<TSource>(IncrementalValuesProvider<TSource>, Action<SourceProductionContext,TSource>) |
Mendaftarkan simpul output yang akan menghasilkan kode sumber yang akan ditambahkan ke kompilasi. Tindakan yang disediakan akan dipanggil sekali untuk setiap nilai dari penyedia setiap kali berubah. |