Perché dovrei scrivere CLS codice compatibile?
-
11-09-2019 - |
Domanda
Ho trovato un sacco di pagine circa la conformità CLS.
Ho capito che CLS rispetto:
- è un modo per garantire la compatibilità diverso assemblaggio .
- è un modo per dichiarare il codice di alta sicurezza
Molti peolple scrivono che "se si scrive codice, si dovrebbe scrivere è compatibile con CLS." Ma, per quanto posso leggere, non v'è alcuna ragione per usare la conformità CLS nel software generico.
Ho ragione, o mi sono perso qualcosa?
Soluzione
Se si scrive una libreria o di un quadro ha senso per garantire la vostra biblioteca può essere utilizzato da qualsiasi linguaggio CLR.
Altri suggerimenti
CLS-conformità è particolarmente importante se si sta distribuendo librerie -. In particolare, la scrittura garantisce CLS compliant che le librerie saranno utilizzabili da tutti i linguaggi CLS-compliant
Per esempio, Visual Basic non è case-sensitive, mentre il C # è. Uno dei requisiti di conformità CLS è che i nomi dei membri pubblici (e protetti) non devono differire solo per caso, assicurando così che le librerie possono essere utilizzate in modo sicuro da codice Visual Basic, o qualsiasi altro linguaggio .NET che non differenzia basa su caso.
La risposta è quella di consentire la massima compatibilità tra linguaggi .NET. CLS è il lingua franca che permette C # assemblee di lavorare con F #, ironpython, C ++ / CLI, VB.NET, Boo e tutti gli altri linguaggi .NET. Passaggio al di fuori quel confine e la vostra assemblea può funzionare correttamente, ma non necessariamente.
Non ci può essere un specifica motivo per avere il vostro codice sia compatibile con CLS, ma la gente si riferiscono al fatto che è un "best practice" - qualcosa che si dovrebbe fare perché è una buona abitudine, piuttosto che essere misurabile migliore per un particolare scenario.
In altre parole, E 'una buona idea per rendere il codice compatibile con CLS meno che non abbiate un motivo non a.