Programmering

C # Source Generators for å øke ytelsen i .NET 5

Microsoft har introdusert en forhåndsvisning av en C # kompilatorfunksjon kalt Source Generators som kan inspisere et program og generere kildefiler som kan legges til i en kompilering. Microsoft sier Source Generators kan forbedre ytelsen i en rekke scenarier.

Introdusert 29. april, er en kildegenerator et stykke kode (en .NET Standard 2.0-samling) som kjører under kompilering og kan inspisere et program for å produsere flere filer som blir samlet sammen med resten av koden.

Source Generators lar C # -utviklere gjøre følgende:

  • Hent en samling som representerer all brukerkode som kompileres. Dette objektet kan inspiseres og utviklere kan skrive kode som fungerer med syntaksen og semantiske modeller for kode som blir kompilert, som med analysatorer.
  • Generer C #-kildefiler som skal legges til et kompileringsobjekt under kompilering, med tilleggskildekode som inngang mens koden kompileres.

Microsoft sa at brukerkode kan inspiseres sammen med rike metadata som kompilatoren bygger opp under kompilering, med C # -kode som sendes tilbake til samme kompilering basert på analyserte data. Source Generators er beslektet med Roslyn Analyzers som inspiserer C # eller Visual Basic-kode, og fungerer som analysatorer som kan avgi C # kildekode.

Source Generators skal sendes som en del av C # 9. Selskapet har gjort en Source Generators Cookbook og et Source Generators design dokument tilgjengelig for å hjelpe utviklere i gang.

Scenarier som drar nytte av Source Generators inkluderer:

  • For å utføre kjøretidsrefleksjon. Ved å analysere kode når en app starter, kan for eksempel en kontrollerfunnfase skje ved kompileringstid, noe som resulterer i raskere oppstartstider.
  • For å hindre bruken av “strengt skrevet” API-er, for eksempel hvordan ASP.NET Core-ruting mellom kontrollere og Razor-sider fungerer. Ruting kan skrives sterkt og de nødvendige strengene genereres som en kompileringstid.
  • For å bidra til å fjerne barrierer for koblingsbaserte og tidlige kompilasjonsoptimaliseringer.

For å få tilgang til Source Generators, må utviklere installere den siste .NET 5 forhåndsvisning og den siste Visual Studio forhåndsvisning.

$config[zx-auto] not found$config[zx-overlay] not found