Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 40372|Antwoord: 0

[Bron] .NET (CLS) specificatie in een openbare taal

[Link kopiëren]
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)
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com