Η οδηγία χρήσης επιτρέπει τη χρήση ενός τύπου που ορίζεται σε ένα χώρο ονομάτων χωρίς να καθορίζεται ένας πλήρως προσδιορισμένος χώρος ονομάτων για αυτόν τον τύπο. Η προσθήκη του καθολικού τροποποιητή στην οδηγία χρήσης σημαίνει ότι η χρήση θα εφαρμοστεί σε όλα τα αρχεία της μεταγλώττισης (συνήθως ένα έργο). Η παγκόσμια οδηγία χρήσης προστέθηκε στο C# 10. Η σύνταξη είναι:
Η συνιστώμενη πρακτική είναι να τοποθετήσετε την καθολική εισαγωγή σε ξεχωριστό αρχείο (ένα για κάθε έργο), π.χ. μπορεί να ονομαστεί:GlobalUsings.csΑρχείο.
Εισαγωγή επίσημης τεκμηρίωσης της Microsoft:Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Βάζουμε τον χώρο ονομάτων που αναφέρεται από Startup.cs στο αρχείο GlobalUsings.cs, θυμόμαστε να προσθέσουμε πριν χρησιμοποιήσουμεΠαγκόσμιαΛέξεις-κλειδιά!! Ο κωδικός έχει ως εξής:
Αυτή τη στιγμή, ο μεταγλωττιστής θα αναφέρει ένα σφάλμα που δηλώνει ότι "η συνάρτηση καθολική χρήση της εντολής δεν είναι διαθέσιμη σε C# 8.0, χρησιμοποιήστε την έκδοση γλώσσας 10.0 ή νεότερη", όπως φαίνεται στο παρακάτω σχήμα:
Σε αυτήν την περίπτωση, λαμβάνοντας ως παράδειγμα το έργο ASP.NET Core 3.1, χρειάζεται μόνο να κάνετε διπλό κλικ στο έργο (αρχείο .csproj) και να προσθέσετε το LangVersion στον κόμβο Project-> PropertyGroup, όπως φαίνεται στην παρακάτω εικόνα:
Αυτή η πρόταση σημαίνει ότι το έργο χρησιμοποιεί τη σύνταξη της C# 10 σχετικά με την έκδοση της γλώσσας C#:Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Το αρχείο δεν αναφέρεται ως σφάλμα, ταυτόχροναStartup.cs Ο χώρος ονομάτων στον οποίο αναφέρεται το αρχείο είναι γκριζαρισμένος, όπως φαίνεται στο παρακάτω σχήμα:
Αφαιρούμε τις αναφορές των Program.cs, Startup.cs και στη συνέχεια μεταγλωττίζουμε ξανά το έργο όπως φαίνεται στην παρακάτω εικόνα:
χρήσηILSpy_binaries_7.2.0.6702-προεπισκόπηση2Το αρχείο WebApplication1.dll που προκύπτει απομεταγλωττίζεται όπως φαίνεται στην παρακάτω εικόνα:
Το αρχείο εκκίνησης εξακολουθεί να έχει αναφορές χρήσης και δεν δημιουργούνται GlobalUsings.cs αρχεία, επομένως η παγκόσμια χρήση είναι απλώς ζάχαρη σύνταξης, η οποία απλοποιεί ορισμένες κουραστικές εργασίες προγραμματισμού και βελτιώνει σημαντικά την αποδοτικότητα της εργασίας.
.ΝΕΤ 6Έμμεσοι χώροι ονομάτωνΟι αναφορές επιτυγχάνονται επίσης με τη χρήση της δυνατότητας καθολικής χρήσης.
Επί του παρόντος, προστίθενται διαφορετικοί προεπιλεγμένοι χώροι ονομάτων για διαφορετικούς τύπους SDK και οι υπάρχοντες είναι οι εξής:
Για το Microsoft.NET.Sdk, ο προεπιλεγμένος χώρος ονομάτων είναι ο εξής:
Για το Microsoft.NET.Sdk.Web:
Για το Microsoft.NET.Sdk.Worker:
Εάν θέλετε να απενεργοποιήσετε τις έμμεσες αναφορές χώρου ονομάτων, μπορείτε να απενεργοποιήσετε αυτήν τη δυνατότητα εντελώς μέσω του DisableImplicitNamespaceImports, ως εξής:
Εάν θέλετε απλώς να απενεργοποιήσετε τις αναφορές στο Microsoft.NET.Sdk.Web, μπορείτε να διαμορφώσετε το DisableImplicitNamespaceImports_Web ως εξής:
Ας δημιουργήσουμε ένα νέο έργο κονσόλας .NET 6.0 για δοκιμή και ολόκληρο το έργο έχει μόνο Program.cs ένα αρχείο, όπως φαίνεται στο παρακάτω σχήμα:
Το ConsoleApp1.csproj έχει ρυθμιστεί ως εξής:
Πού είναι η παγκόσμια οδηγία χρήσης; Ανοίξτε τον κατάλογο obj (ο οποίος φιλοξενεί τα ενδιάμεσα προσωρινά αρχεία που δημιουργήθηκαν κατά τη διαδικασία μεταγλώττισης) και βρείτε τον στον κατάλογο Debug\net6.0ConsoleApp1.GlobalUsings.g.csΑρχείο:
ConsoleApp1.GlobalUsings.g.cs αρχεία δημιουργούνται αυτόματα με βάση τις ρυθμίσεις ιδιοτήτων ImplicitUsings της μελέτης.
(Τέλος)
|