|
|
Δημοσιεύτηκε στις 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)
|