|
|
Postat la 2021-1-11 11:43:49
|
|
|
|

.NET este un limbaj separat. Aceasta înseamnă că, ca dezvoltator, poți dezvolta într-unul dintre numeroasele limbaje pentru .NET (de exemplu, C#, C++/CLI, Eiffel, F#, IronPython, IronRuby, PowerBuilder, Visual Basic, Visual COBOL și Windows PowerShell). Accesează tipurile și membrii bibliotecilor dezvoltate pentru .NET fără a fi nevoie să cunoști limbajul în care au fost scrise inițial sau să urmezi convențiile limbajului original. Dacă ești dezvoltator de componente, componentele tale pot fi accesate de orice aplicație .NET, indiferent de limbaj.
Dacă componenta ta respectă specificația limbajului comun, este garantat că este compatibilă cu CLS și accesibilă prin cod într-un assembly scris în orice limbaj de programare care suportă CLS. Poți determina dacă componentele tale respectă specificația limbajului comun la compilare aplicând funcția CLSCompliantAttribute codului sursă.
Specificația Limbajului Comun discută fiecare regulă de conformitate cu CLS deoarece se aplică consumatorilor (dezvoltatori care accesează programatic componente conforme CLS), cadrelor (dezvoltatori care folosesc compilatoare de limbaj pentru a crea biblioteci conforme CLS) și extensorilor (dezvoltatori care creează instrumente precum compilatoare de limbaj sau analizatoare de cod ce creează componente conforme CLS). Programul nu verifică dacă codul respectă implicit cerințele CLS la compilare, dar dacă programul tău poate fi public (codeshare, Nuget release etc.), se recomandă să folosești [assembly: CLSCompliant(true)]Indică faptul că biblioteca ta este conformă cu CLS。
Resurse:
Autentificarea cu hyperlink este vizibilă.
Autentificarea cu hyperlink este vizibilă.
Autentificarea cu hyperlink este vizibilă.
În termeni simpli:
Poți mânca pilaf cu mâinile, poți mânca cu lingura, nu există nicio problemă, însă mâncatul cu mâinile nu îndeplinește standardele sau normele de igienă. CLS este o specificație de protocol, deși asamblarea nu va raporta erori și nu va afecta utilizarea normală, însă unele tipuri și parametri ai codului pe care îl dezvolți nu îndeplinesc standardele.
Folosește CLS
În fișierul AssemblyInfo.cs, adăugați următorul cod:
Se va aplica întregii adunări.
Dacă nu setați această caracteristică, este posibil să primiți următoarea eroare când adăugați această caracteristică unui obiect:
Deoarece ansamblurile nu au caracteristici compatibile cu CLSC, "A.Test" nu necesită caracteristici conforme cu CLSC Codul de test este următorul, apoi recompilați:
Tipul de "A.Test" nu respectă CLS
Puteți vedea două avertismente, faceți clic pe elementul de avertizare pentru a sări la numărul specific al liniei, indicând că linia noastră de cod nu respectă specificația CLS, și apoi o puteți corecta singur.
Dacă linia nu respectă specificația CLS, dar modificarea va afecta funcționarea corectă a programului, însă nu vrei ca VS să te avertizeze, poți adăuga următoarele caracteristici câmpului sau clasei:
Astfel, acest avertisment nu va fi emis.
(Sfârșit)
|
Precedent:Optimizarea interogărilor Entity Framework WITH(NOLOCK)Următor:.NET/C# pentru a obține starea curentă a aplicației (CPU, thread, GC)
|