Προγραμματισμός

C # Source Generators για ενίσχυση της απόδοσης στο .NET 5

Η Microsoft παρουσίασε μια προεπισκόπηση μιας δυνατότητας μεταγλωττιστή C # που ονομάζεται Source Generators που μπορεί να επιθεωρήσει ένα πρόγραμμα και να δημιουργήσει αρχεία προέλευσης που μπορούν να προστεθούν σε μια συλλογή. Η Microsoft λέει ότι το Source Generators μπορεί να βελτιώσει την απόδοση σε πολλά σενάρια.

Παρουσιάστηκε στις 29 Απριλίου, το Source Generator είναι ένα κομμάτι κώδικα (ένα συγκρότημα .NET Standard 2.0) που εκτελείται κατά τη διάρκεια της μεταγλώττισης και μπορεί να επιθεωρήσει ένα πρόγραμμα για την παραγωγή πρόσθετων αρχείων που συντάσσονται μαζί με τον υπόλοιπο κώδικα.

Οι γεννήτριες προέλευσης επιτρέπουν στους προγραμματιστές C # να κάνουν τα εξής:

  • Ανακτήστε μια συλλογή που αντιπροσωπεύει όλους τους κωδικούς χρήστη που συντάσσονται. Αυτό το αντικείμενο μπορεί να ελεγχθεί και οι προγραμματιστές μπορούν να γράψουν κώδικα που λειτουργεί με τη σύνταξη και τα σημασιολογικά μοντέλα για τον κώδικα που καταρτίζεται, όπως με τους αναλυτές.
  • Δημιουργήστε αρχεία πηγής C # για προσθήκη σε αντικείμενο συλλογής κατά τη διάρκεια της σύνταξης, με πρόσθετο πηγαίο κώδικα που παρέχεται ως είσοδος κατά τη σύνταξη του κώδικα.

Η Microsoft είπε ότι ο κωδικός χρήστη μπορεί να ελεγχθεί μαζί με πλούσια μεταδεδομένα που δημιουργεί ο μεταγλωττιστής κατά τη διάρκεια της μεταγλώττισης, με τον κώδικα C # να εκπέμπεται ξανά στην ίδια συλλογή με βάση τα δεδομένα που αναλύθηκαν. Οι πηγές πηγής μοιάζουν με τους αναλυτές Roslyn που επιθεωρούν τον κώδικα C # ή Visual Basic, χρησιμεύουν ως αναλυτές που μπορούν να εκπέμπουν τον πηγαίο κώδικα C #.

Οι πηγές πηγής πρέπει να αποσταλούν ως μέρος του C # 9. Η εταιρεία έχει διαθέσει ένα βιβλίο μαγειρικής πηγής και ένα έγγραφο σχεδιασμού πηγών πηγής για να βοηθήσει τους προγραμματιστές να ξεκινήσουν.

Τα σενάρια που επωφελούνται από το Source Generators περιλαμβάνουν:

  • Για να εκτελέσετε αντανάκλαση χρόνου εκτέλεσης. Αναλύοντας τον κώδικα κατά την εκκίνηση μιας εφαρμογής, για παράδειγμα, μια φάση ανακάλυψης ελεγκτή θα μπορούσε να συμβεί κατά το χρόνο μεταγλώττισης, με αποτέλεσμα ταχύτερους χρόνους εκκίνησης.
  • Για να αποφευχθεί η χρήση των API "stringly typed", όπως ο τρόπος λειτουργίας της δρομολόγησης Core ASP.NET μεταξύ ελεγκτών και σελίδων Razor. Η δρομολόγηση θα μπορούσε να πληκτρολογηθεί έντονα και να δημιουργηθούν οι απαραίτητες συμβολοσειρές ως λεπτομέρεια χρόνου μεταγλώττισης.
  • Για να βοηθήσετε στην άρση των εμποδίων στις βελτιστοποιήσεις σύνταξης που βασίζονται σε συνδέσμους και πριν από το χρόνο.

Για να αποκτήσουν πρόσβαση στο Generators προέλευσης, οι προγραμματιστές πρέπει να εγκαταστήσουν την πιο πρόσφατη προεπισκόπηση .NET 5 και την τελευταία προεπισκόπηση του Visual Studio.

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