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

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

[Πηγή] Προδιαγραφή δημόσιας γλώσσας .NET (CLS)

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 2021-1-11 11:43:49 | | | |
Το .NET είναι μια ξεχωριστή γλώσσα. Αυτό σημαίνει ότι ως προγραμματιστής, μπορείτε να αναπτύξετε σε μία από τις πολλές γλώσσες για το .NET (π.χ. C#, C++/CLI, Eiffel, F#, IronPython, IronRuby, PowerBuilder, Visual Basic, Visual COBOL και Windows PowerShell). Αποκτήστε πρόσβαση στους τύπους και τα μέλη των βιβλιοθηκών που έχουν αναπτυχθεί για το .NET χωρίς να χρειάζεται να γνωρίζετε τη γλώσσα στην οποία γράφτηκαν αρχικά ή να ακολουθήσετε τυχόν συμβάσεις της αρχικής γλώσσας. Εάν είστε προγραμματιστής στοιχείων, τα στοιχεία σας είναι προσβάσιμα από οποιαδήποτε εφαρμογή .NET, ανεξάρτητα από τη γλώσσα.

Εάν το στοιχείο σας συμμορφώνεται με την προδιαγραφή κοινής γλώσσας, είναι εγγυημένο ότι είναι συμβατό με το CLS και προσβάσιμο μέσω κώδικα σε ένα συγκρότημα γραμμένο σε οποιαδήποτε γλώσσα προγραμματισμού που υποστηρίζει CLS. Μπορείτε να προσδιορίσετε εάν τα στοιχεία σας συμμορφώνονται με την προδιαγραφή κοινής γλώσσας κατά τη μεταγλώττιση, εφαρμόζοντας τη δυνατότητα CLSCompliantAttribute στον πηγαίο κώδικα.

Η Προδιαγραφή Κοινής Γλώσσας συζητά κάθε κανόνα συμμόρφωσης με το CLS επειδή ισχύει για καταναλωτές (προγραμματιστές που έχουν πρόσβαση μέσω προγραμματισμού σε στοιχεία συμβατά με το CLS), πλαίσια (προγραμματιστές που χρησιμοποιούν μεταγλωττιστές γλώσσας για τη δημιουργία βιβλιοθηκών συμβατών με το CLS) και επεκτείνοντες (προγραμματιστές που δημιουργούν εργαλεία όπως μεταγλωττιστές γλώσσας ή αναλυτές κώδικα που δημιουργούν στοιχεία συμβατά με το CLS).
Το πρόγραμμα δεν ελέγχει εάν ο κώδικας συμμορφώνεται με τις απαιτήσεις CLS από προεπιλογή κατά τη μεταγλώττιση, αλλά εάν το πρόγραμμά σας μπορεί να είναι δημόσιο (κοινή χρήση κωδικών, έκδοση Nuget κ.λπ.), συνιστάται η χρήση [assembly: CLSCompliant(true)]Υποδείξτε ότι η βιβλιοθήκη σας είναι συμβατή με το πρότυπο CLS

Πόροι:

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

Με απλούς όρους:

Μπορείτε να φάτε πιλάφι με τα χέρια σας, μπορείτε να φάτε με ένα κουτάλι, δεν υπάρχει πρόβλημα, ωστόσο, το να τρώτε με τα χέρια σας δεν πληροί τα πρότυπα ή τους κανόνες υγιεινής. Το CLS είναι μια προδιαγραφή πρωτοκόλλου, αν και η συναρμολόγηση δεν θα αναφέρει σφάλματα και δεν θα επηρεάσει την κανονική χρήση, αλλά ορισμένοι τύποι και παράμετροι του κώδικα που αναπτύσσετε δεν πληρούν τα πρότυπα.

Χρησιμοποιήστε το CLS

Στο αρχείο AssemblyInfo.cs, προσθέστε τον ακόλουθο κώδικα:



Θα εφαρμοστεί σε ολόκληρη τη συναρμολόγηση.

Εάν δεν ορίσετε αυτήν τη δυνατότητα, ενδέχεται να λάβετε το ακόλουθο σφάλμα κατά την προσθήκη αυτής της δυνατότητας σε ένα αντικείμενο:

Δεδομένου ότι τα συγκροτήματα δεν διαθέτουν χαρακτηριστικά CLSCompliant, το "A.Test" δεν απαιτεί χαρακτηριστικά CLSCompliant

Ο κωδικός δοκιμής είναι ο εξής και, στη συνέχεια, μεταγλωττίστε ξανά:

Ο τύπος "A.Test" δεν συμμορφώνεται με το CLS



Μπορείτε να δείτε δύο προειδοποιήσεις, κάντε κλικ στο στοιχείο προειδοποίησης για να μεταβείτε στον συγκεκριμένο αριθμό γραμμής, υποδεικνύοντας ότι η γραμμή του κωδικού μας δεν συμμορφώνεται με την προδιαγραφή CLS και, στη συνέχεια, μπορείτε να τη διορθώσετε μόνοι σας.

Εάν η γραμμή δεν συμμορφώνεται με τις προδιαγραφές CLS, αλλά η τροποποίηση θα επηρεάσει τη σωστή λειτουργία του προγράμματος, αλλά δεν θέλετε να σας προειδοποιήσει το VS, μπορείτε να προσθέσετε τα ακόλουθα χαρακτηριστικά στο πεδίο ή την κλάση:



Με αυτόν τον τρόπο δεν θα εκδοθεί αυτή η προειδοποίηση.

(Τέλος)





Προηγούμενος:Entity Framework Query Optimization WITH(NOLOCK)
Επόμενος:.NET/C# για να λάβετε την τρέχουσα κατάσταση της εφαρμογής (CPU, νήμα, GC)
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com