|
|
Geplaatst op 11-1-2021 11:43:49
|
|
|
|

.NET is een aparte taal. Dit betekent dat je als ontwikkelaar kunt ontwikkelen in een van de vele talen voor .NET (bijvoorbeeld C#, C++/CLI, Eiffel, F#, IronPython, IronRuby, PowerBuilder, Visual Basic, Visual COBOL en Windows PowerShell). Toegang tot de typen en leden van bibliotheken die voor .NET zijn ontwikkeld, zonder de taal waarin ze oorspronkelijk zijn geschreven te kennen of conventies van de oorspronkelijke taal te volgen. Als je componentontwikkelaar bent, kunnen je componenten toegankelijk worden door elke .NET-app, ongeacht de taal.
Als je component voldoet aan de common language-specificatie, is het gegarandeerd dat deze CLS-compatibel is en toegankelijk is via code in een assembly geschreven in elke programmeertaal die CLS ondersteunt. Je kunt bepalen of je componenten voldoen aan de common language-specificatie tijdens compilatie door de CLSCompliantAttribut-functie toe te passen op de broncode.
De Common Language Specification bespreekt elke regel van CLS-naleving omdat deze van toepassing is op consumenten (ontwikkelaars die programmatisch toegang krijgen tot CLS-conforme componenten), frameworks (ontwikkelaars die taalcompilers gebruiken om CLS-conforme bibliotheken te maken) en extensors (ontwikkelaars die tools maken zoals taalcompilers of code-analyzers die CLS-conforme componenten maken). Het programma controleert standaard niet of de code aan de CLS-eisen voldoet bij compimenteren, maar als je programma publiek kan zijn (codeshare, Nuget-release, enz.), wordt aanbevolen [assembly: CLSCompliant(true)] te gebruiken.Geef aan dat je bibliotheek CLS-conform is。
Weg:
De hyperlink-login is zichtbaar.
De hyperlink-login is zichtbaar.
De hyperlink-login is zichtbaar.
In gewone taal:
Je kunt pilaf met je handen eten, je kunt met een lepel eten, er is geen probleem, maar eten met je handen voldoet niet aan hygiënische normen of normen. CLS is een protocolspecificatie, hoewel de assembly geen fouten rapporteert en het normale gebruik niet beïnvloedt, maar sommige typen en parameters van de code die je ontwikkelt voldoen niet aan de standaarden.
Gebruik CLS
Voeg in het AssemblyInfo.cs bestand de volgende code toe:
Het zal op de hele vergadering worden toegepast.
Als je deze functie niet instelt, kun je de volgende foutmelding krijgen bij het toevoegen van deze functie aan een object:
Omdat assemblies geen CLSCompliant-features hebben, vereist "A.Test" geen CLSCompliant-features De testcode is als volgt, en compileren dan opnieuw:
Het type "A.Test" voldoet niet aan CLS
Je kunt twee waarschuwingen zien, klik op het waarschuwingsitem om naar het specifieke regelnummer te springen, wat aangeeft dat onze regel code niet voldoet aan de CLS-specificatie, en dan kun je het zelf corrigeren.
Als de lijn niet voldoet aan de CLS-specificatie, maar de wijziging de correcte werking van het programma zal beïnvloeden, maar je wilt niet dat VS je waarschuwt, kun je de volgende kenmerken aan het veld of de klasse toevoegen:
Op deze manier wordt deze waarschuwing niet gegeven.
(Einde)
|
Vorig:Entity Framework Query-optimalisatie WITH(NOLOCK)Volgend:.NET/C# om de huidige applicatiestatus te krijgen (CPU, thread, GC)
|