Programiranje

Izvorni generatorji C # za povečanje zmogljivosti v .NET 5

Microsoft je predstavil predogled zmogljivosti prevajalnika C #, imenovane Source Generators, ki lahko pregleda program in ustvari izvorne datoteke, ki jih je mogoče dodati v kompilacijo. Microsoft pravi, da lahko generatorji virov izboljšajo zmogljivost v številnih scenarijih.

Izvorni generator, predstavljen 29. aprila, je del kode (sklop .NET Standard 2.0), ki se zažene med prevajanjem in lahko pregleda program, da ustvari dodatne datoteke, ki so zbrane skupaj s preostalo kodo.

Izvorni generatorji omogočajo razvijalcem C # naslednje:

  • Pridobite kompilacijo, ki predstavlja vso uporabniško kodo, ki se prevaja. Ta predmet je mogoče pregledati in razvijalci lahko napišejo kodo, ki deluje s sintakso in semantičnimi modeli za prevedeno kodo, na primer z analizatorji.
  • Ustvari izvorne datoteke C #, ki jih je treba dodati predmetu prevajanja med prevajanjem, z dodatno izvorno kodo, ki je na voljo kot vhod med prevajanjem kode.

Microsoft je dejal, da je mogoče uporabniško kodo pregledati skupaj z bogatimi metapodatki, ki jih prevajalnik ustvari med prevajanjem, pri čemer se koda C # vrne v isto prevajanje na podlagi analiziranih podatkov. Izvorni generatorji so podobni analizatorjem Roslyn, ki pregledujejo kodo C # ali Visual Basic in služijo kot analizatorji, ki lahko oddajajo izvorno kodo C #.

Izvorni generatorji naj bi bili dobavljeni kot del C # 9. Podjetje je na voljo kuharsko knjigo izvornih generatorjev in oblikovalski dokument izvornih generatorjev, ki razvijalcem pomagajo pri začetku.

Scenariji, ki imajo koristi od generatorjev virov, vključujejo:

  • Za izvedbo refleksije med izvajanjem. Z analizo kode, ko se aplikacija zažene, se lahko na primer v času prevajanja zgodi faza odkrivanja krmilnika, kar povzroči hitrejši čas zagona.
  • Da bi se izognili uporabi API-jev z „nizkim tipkanjem“, na primer, kako deluje usmerjanje ASP.NET Core med krmilniki in Razor stranmi. Usmerjanje je mogoče močno vtipkati in ustvariti potrebne nize kot podrobnosti časa prevajanja.
  • Pomaga pri odstranjevanju ovir za optimizacije prevajanja, ki temeljijo na povezovalnih povezavah in predčasno.

Za dostop do generatorjev virov morajo razvijalci namestiti najnovejši predogled .NET 5 in najnovejši predogled Visual Studio.

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