|
|
Paskelbta 2021-1-11 11:43:49
|
|
|
|

.NET yra atskira kalba. Tai reiškia, kad kaip kūrėjas galite kurti viena iš daugelio .NET kalbų (pvz., C#, C++/CLI, Eiffel, F#, IronPython, IronRuby, PowerBuilder, Visual Basic, Visual COBOL ir Windows PowerShell). Pasiekite .NET sukurtų bibliotekų tipus ir narius nežinodami kalbos, kuria jos buvo parašytos, arba nesivadovaudami originalo kalbos konvencijomis. Jei esate komponentų kūrėjas, jūsų komponentus gali pasiekti bet kuri .NET programa, nepriklausomai nuo kalbos.
Jei jūsų komponentas atitinka bendrosios kalbos specifikaciją, garantuojama, kad jis atitinka CLS ir pasiekiamas naudojant kodą rinkinyje, parašytame bet kuria programavimo kalba, palaikančia CLS. Galite nustatyti, ar jūsų komponentai kompiliavimo metu atitinka bendrosios kalbos specifikaciją, šaltinio kodui pritaikydami CLSCompliantAttribute funkciją.
Bendrosios kalbos specifikacijoje aptariama kiekviena CLS atitikties taisyklė, nes ji taikoma vartotojams (kūrėjams, kurie programiškai pasiekia CLS suderinamus komponentus), sistemoms (kūrėjams, kurie naudoja kalbos kompiliatorius CLS suderinamoms bibliotekoms kurti) ir ekstensoriams (kūrėjams, kurie kuria įrankius, pvz., kalbos kompiliatorius arba kodo analizatorius, kurie kuria su CLS suderinamus komponentus). Kompiliuojant programa netikrina, ar kodas atitinka CLS reikalavimus pagal numatytuosius nustatymus, tačiau jei jūsų programa gali būti vieša (codeshare, Nuget leidimas ir kt.), rekomenduojama naudoti [assembly: CLSCompliant(true)]Nurodykite, kad jūsų biblioteka atitinka CLS。
Išteklių:
Hipersaito prisijungimas matomas.
Hipersaito prisijungimas matomas.
Hipersaito prisijungimas matomas.
Paprastais žodžiais:
Galite valgyti plovą rankomis, galite valgyti šaukštu, nėra jokių problemų, tačiau valgymas rankomis neatitinka higienos normų ar normų. CLS yra protokolo specifikacija, nors rinkinys nepraneš apie klaidas ir neturės įtakos normaliam naudojimui, tačiau kai kurie jūsų sukurto kodo tipai ir parametrai neatitinka standartų.
Naudokite CLS
Į AssemblyInfo.cs failą įtraukite šį kodą:
Jis bus taikomas visam mazgui.
Jei nenustatysite šios funkcijos, įtraukdami šią funkciją į objektą galite gauti šią klaidą:
Kadangi rinkiniai neturi CLSCompliant funkcijų, "A.Test" nereikalauja CLSCompliant funkcijų Bandymo kodas yra toks, tada perkompiliuoti:
"A.Test" tipas neatitinka CLS
Galite pamatyti du įspėjimus, spustelėkite įspėjimo elementą, kad pereitumėte prie konkretaus eilutės numerio, nurodydami, kad mūsų kodo eilutė neatitinka CLS specifikacijos, ir tada galite patys ją ištaisyti.
Jei eilutė neatitinka CLS specifikacijos, tačiau modifikacija turės įtakos teisingam programos veikimui, tačiau nenorite, kad VS jus įspėtų, į lauką ar klasę galite įtraukti šias charakteristikas:
Tokiu būdu šis įspėjimas nebus paskelbtas.
(Pabaiga)
|
Ankstesnis:Objekto sistemos užklausų optimizavimas SU(NOLOCK)Kitą:.NET/C#, kad gautumėte dabartinę programos būseną (CPU, gija, GC)
|