Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 2933|Απάντηση: 0

[Επικοινωνία] .NET/C# γενική συνμεταβλητή T έξω και μετατροπέας στη διεπαφή

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 3/8/2023 8:35:23 μ.μ. | | | |
απαιτήσεις: Πρόσφατα, κοιτούσα τον πηγαίο κώδικα .NET και διαπίστωσα ότι υπάρχει μια λέξη-κλειδί εξόδου στη διεπαφή γενικός, όπως:δημόσια διεπαφή IStringLocalizer<out T>, και μετά το μελέτησε.

Οι γενικές παράμετροι τύπου σε μια διεπαφή μπορούν να δηλωθούν ως συνμεταβλητές ή μετατροπείς. Η συνδιακύμανση επιτρέπει στις μεθόδους διεπαφής να έχουν έναν τύπο επιστροφής που προέρχεται περισσότερο από τον τύπο επιστροφής που ορίζεται από τη γενική παράμετρο τύπου. Ο μετατροπέας επιτρέπει στη μέθοδο διεπαφής να έχει μικρότερο βαθμό παραγωγής από τον τύπο ορίσματος που καθορίζεται από τη γενική παράμετρο. Οι γενικές διεπαφές με παραμέτρους γενικού τύπου συνμεταβλητής ή μετατροπέα ονομάζονται "παραλλαγές".

Συνδιακύμανση: Χρησιμοποιήστε τη λέξη-κλειδί out, για να δηλώσετε την παράμετρο γενικού τύπου ως συνμεταβλητή.
Αντίστροφος: Χρησιμοποιήστε τη λέξη-κλειδί in για να δηλώσετε την παράμετρο γενικού τύπου ως μετατροπέα.

Αυτό το στιγμιότυπο οθόνης από το VS2022 είναι πολύ περιγραφικό - δείχνει τι είδους περιορισμούς φέρνει αυτό στα γενόσημα, όπως φαίνεται παρακάτω:



Με προμήθειαFunc<in T, out TResult>Αυτό σημαίνει ότι ο τύπος παραμέτρου είναι T και ο τύπος επιστροφής είναι TResult.

Αναφορά:
Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Η σύνδεση με υπερσύνδεσμο είναι ορατή.






Προηγούμενος:Χρησιμοποιείται ένα νέο χρονόμετρο στο .NET 6, το PeriodicTimer
Επόμενος:Το Qv2ray συνδέει την υπηρεσία Trojan-Go στα Windows
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com