Tömb- és gyűjteménydeklarációk és inicializálási kifejezések hibáinak és figyelmeztetéseinek elhárítása

Ez a cikk a következő fordítóhibákat ismerteti:

  • CS0022: Nem megfelelő számú index található a(z) []ben, a várt "szám"
  • CS0178: Érvénytelen dimenziómegjelölő: várt "," vagy "]"
  • CS0248: Nem hozható létre negatív méretű tömb
  • CS0270: A tömb mérete nem adható meg változódeklarációban (próbálja meg inicializálni egy "new" kifejezéssel)
  • CS0611: A tömbelemek nem lehetnek típusúak
  • CS0623: A tömb inicializálói csak változóban vagy mező inicializálóban használhatók. Próbáljon meg helyette egy új kifejezést használni.
  • CS0650: Hibás tömbdeklarátor: Felügyelt tömb deklarálásához a rangkijelölő megelőzi a változó azonosítóját. Rögzített méretű puffermező deklarálásához használja a rögzített kulcsszót a mezőtípus előtt.
  • CS0719: A tömbelemek nem lehetnek statikus típusúak
  • CS0747: Érvénytelen inicializáló tagdeklarátor.
  • CS0820: Tömb inicializáló nem rendelhető implicit módon beírt helyihez
  • CS0826: Az implicit módon beírt tömbhöz nem található a legjobb típus.
  • CS0846: Beágyazott tömb inicializáló várható
  • CS1063: A gyűjtemény inicializáló elemének legjobban túlterhelt Add metódusa elavult.
  • CS1552: Tömbtípus-meghatározó, []a paraméter neve előtt kell megjelennie
  • CS1586: A tömb létrehozásának tömbméretet vagy tömb inicializálót kell tartalmaznia
  • CS1920: Az elem inicializálója nem lehet üres.
  • CS1921: A legjobb túlterhelt metódus-illeszkedés nem megfelelő aláírással rendelkezik az inicializáló elemhez. Az inicializálható Add példánynak hozzáférhető példánymetódusnak kell lennie.
  • CS1925: A gyűjtemény inicializálójával nem inicializálható a "type" típusú objektum.
  • CS1950: A gyűjtemény inicializálójának legjobban túlterhelt Add metódusa érvénytelen argumentumokkal rendelkezik.
  • CS1954: A gyűjtemény inicializáló elemére vonatkozó legjobban túlterhelt metódus nem használható. A gyűjtemény inicializáló 'Add' metódusai nem tartalmazhatnak ref vagy out paramétereket.
  • CS9174: A típus nem inicializálható gyűjteménykonstanssal, mert a típus nem konstruálható.
  • CS9176: Nincs céltípus megadva a gyűjteményliterálhoz.
  • CS9185: A CollectionBuilderAttribute szerkesztőtípusnak nem általános osztálynak vagy szerkezetnek kell lennie.
  • CS9186: A CollectionBuilderAttribute metódusnév érvénytelen.
  • CS9187: Nem található elérhető metódus a várt aláírással: statikus metódus egyetlen típusú ReadOnlySpan<T>paraméterrel; és helyes visszatérési típussal
  • CS9188: A típusnak van egy CollectionBuilderAttribute attribútuma, de nincs elemtípusa.
  • CS9203: Ebben a környezetben nem használható ilyen típusú gyűjteménykifejezés, mert az a jelenlegi hatókörön kívül is közzétehető.
  • CS9210: Ez a System.Collections.Immutable.ImmutableArray<T>verzió nem használható gyűjteménykifejezésekkel.
  • CS9212: A ".." spread operátor nem működik "type" típusú változókon, mert a "type" nem tartalmaz nyilvános példányt vagy bővítménydefiníciót a "tag" számára.
  • CS9213: A gyűjteménykifejezés céljának "type" elemtípusa nincs.
  • CS9214: A gyűjteménykifejezés típusának argumentumok nélkül hívható konstruktorral kell rendelkeznie.
  • CS9215: A gyűjtemény kifejezéstípusának "type" típusának rendelkeznie kell egy "Hozzáadás" példánnyal vagy bővítménymetódussal, amely egyetlen argumentummal hívható meg.
  • CS9222: A gyűjtemény inicializálója a "type" gyűjtemény példányainak végtelen láncát eredményezi.
  • CS9332: A ".." spread operátor nem használható a fogási záradék szűrőkifejezésében.
  • CS9354: "with(...)" elemnek kell lennie az első elemnek
  • CS9355: A "with(...)" elemek nem támogatottak a(z) 'type' típus esetében
  • CS9356: A(z) "with(...)" elem argumentumai nem lehetnek dinamikusak
  • CS9357: A csak olvasható interfész 'with(...)' elemének üresnek kell lennie, ha jelen van
  • CS9358: A gyűjtemény elemtípusa nem lehet ref struct vagy olyan típusparaméter, amely megengedi a ref struct-okat
  • CS9359: A metódus túlterhelése nem veszi figyelembe a "szám" "with(...)" elemargumentumokat

Ezenkívül a cikk a következő figyelmeztetéseket tartalmazza:

  • CS1062: A gyűjtemény inicializáló elemének legjobban túlterhelt Add metódusa elavult.
  • CS1064: A gyűjtemény inicializáló elemének legjobban túlterhelt Add metódusa elavult.
  • CS3007: A túlterhelt metódus "metódusa", amely csak névtelen tömbtípusok szerint különbözik, nem CLS-kompatibilis
  • CS3016: Az attribútumargumentumként megadott tömbök nem CLS-kompatibilisek
  • CS0251: Negatív indexű tömb indexelése (a tömbindexek mindig nullánál kezdődnek)
  • CS9208: A gyűjteménykifejezés váratlan halomfoglalásokat okozhat. Fontolja meg egy tömb explicit létrehozását, majd a végleges típusra való konvertálást, hogy a foglalás explicit legyen.
  • CS9209: A gyűjteménykifejezés váratlan halomfoglalásokat okozhat a ".." spreadek használata miatt. Fontolja meg egy tömb explicit létrehozását, majd a végleges típusra való konvertálást, hogy a foglalás explicit legyen.
  • CS9332: A ".." spread operátor nem használható a fogási záradék szűrőkifejezésében.

Érvénytelen hozzáférés a tömbelemhez

  • CS0022: Nem megfelelő számú index található a(z) []ben, a várt "szám"
  • CS0251: Negatív indexű tömb indexelése (a tömbindexek mindig nullánál kezdődnek)

A tömbelemek helyes eléréséhez kövesse az alábbi indexelési szabályokat. További információ: Tömbök.

  • Adja meg a deklarált dimenziókkal (CS0022) azonos számú indexet. Az egydimenziós tömböknek egy indexre van szükségük; egy háromdimenziós tömbnek három indexre van szüksége.
  • Csak nem negatív egész számokat használjon tömbindexekhez (CS0251). A tömbindexek mindig nullával kezdődnek.

Érvénytelen gyűjtemény inicializáló

  • CS0747: Érvénytelen inicializáló tagdeklarátor.
  • CS1920: Az elem inicializálója nem lehet üres.
  • CS1921: A legjobb túlterhelt metódusegyezés nem megfelelő aláírást ad az inicializáló elemhez. Az inicializálható Add példánynak akadálymentes metódusnak kell lennie.
  • CS1922: A "type" típus nem inicializálható gyűjtemény inicializálóval, mert a "type" nem implementálja a "System.Collections.IEnumerable" elemet.
  • CS1925: A gyűjtemény inicializálójával nem inicializálható a "type" típusú objektum.
  • CS1927: Figyelmeztetés: Figyelmen kívül hagyva a /win32manifest modult, mert csak szerelvényekre vonatkozik
  • CS1950: A gyűjtemény inicializálójának legjobban túlterhelt Add metódusa érvénytelen argumentumokkal rendelkezik.
  • CS1954: A gyűjtemény inicializáló elemének legjobban túlterhelt metódusának illeszkedése nem használható. A gyűjtemény inicializáló 'Add' metódusai nem rendelkezhetnek ref vagy out paraméterekkel.
  • CS9174: A típus nem inicializálható gyűjteménykonstanssal, mert a típus nem konstruálható.
  • CS9176: A gyűjteménykonstanshoz nincs céltípus.
  • CS9203: Ebben a környezetben nem használható ilyen típusú gyűjteménykifejezés, mert az a jelenlegi hatókörön kívül is közzétehető.
  • CS9210: Ez a System.Collections.Immutable.ImmutableArray<T> verzió nem használható gyűjteménykifejezésekkel.
  • CS9212: A ".." spread operátor nem működik "type" típusú változókon, mert a "type" nem tartalmaz nyilvános példányt vagy bővítménydefiníciót a "tag" számára.
  • CS9213: A gyűjteménykifejezés céljának "type" elemtípusa nincs.
  • CS9214: A gyűjteménykifejezés típusának argumentumok nélkül hívható konstruktorral kell rendelkeznie.
  • CS9215: A gyűjtemény kifejezéstípusának "type" típusának rendelkeznie kell egy "Hozzáadás" példánnyal vagy bővítménymetódussal, amely egyetlen argumentummal hívható meg.
  • CS9222: A gyűjtemény inicializálása a 'típus' gyűjtemény példányosításainak végtelen láncát eredményezi.
  • CS9332: A ".." spread operátor nem használható a fogási záradék szűrőkifejezésében.
  • CS9354: "with(...)" elemnek kell lennie az első elemnek
  • CS9355: A "with(...)" elemek nem támogatottak a 'típus' esetén
  • CS9356: A(z) "with(...)" elem argumentumai nem lehetnek dinamikusak
  • CS9357: Az írásvédett interfész "with(...)" elemének üresnek kell lennie, ha van jelen
  • CS9358: A gyűjtemény elemtípusa nem lehet ref struct vagy olyan típusparaméter, amely megengedi a ref structokat
  • CS9359: Nincs olyan 'method' függvény túlterhelés, amely 'number' 'with(...)' elemargumentumot vesz fel

A fordító a következő figyelmeztetéseket is generálhatja:

  • CS1062: A gyűjtemény inicializáló elemének legjobban túlterhelt Add metódusa elavult.
  • CS1063: A gyűjtemény inicializáló elemének legjobban túlterhelt Add metódusa elavult.
  • CS1064: A gyűjtemény inicializáló elemének legjobban túlterhelt Add metódusa elavult.
  • CS9208: A gyűjteménykifejezés váratlan halomfoglalásokat okozhat. Fontolja meg egy tömb explicit létrehozását, majd a végleges típusra való konvertálást, hogy a foglalás explicit legyen.
  • CS9209: A gyűjteménykifejezés váratlan halomfoglalásokat okozhat a ".." spreadek használata miatt. Fontolja meg egy tömb explicit létrehozását, majd a végleges típusra való konvertálást, hogy a foglalás explicit legyen.

Érvényes gyűjtemény inicializálók létrehozásához kövesse az alábbi szabályokat. További információ: Gyűjteménykifejezések.

  • Ne keverje a tulajdonság inicializálását az elembeadással ugyanabban az inicializálóban (CS0747).
  • Legalább egy elemet adjon meg a gyűjtemény-inicializálókban, amelyek kapcsos zárójeleket használnak (CS1920).
  • Győződjön meg arról, hogy a kollekciótípus implementálja a IEnumerable (CS1922) kódot.
  • Csak gyűjteménytípusokkal (CS1925) használjon gyűjtemény inicializálókat.
  • Ellenőrizze, hogy a Add metódus elérhető-e, az elemtípusnak megfelelő paramétert használ-e, és nem használ-e ref módosítókat out (CS1921, CS1954).
  • A nem egyértelmű Add metódusok túlterhelésének feloldása (CS1950).
  • Adjon meg explicit céltípust a gyűjteménykifejezésekhez, ha a fordító nem tudja kikövetkeztetni (CS9176, CS9213).
  • Győződjön meg arról, hogy a gyűjtemény típusa paraméter nélküli konstruktorral (CS9174, CS9214) konstruktorokkal konstruálható.
  • Ne használjon ref struct olyan típusú gyűjteménykifejezéseket, amelyek sérthetik a referencia biztonságot (CS9203).
  • Frissítés a gyűjteménykifejezések kompatibilis futtatókörnyezeti verziójára ImmutableArray (CS9210).
  • Enumerálási minták (például GetEnumerator) implementálása a spread operátorok támogatásához (CS9212).
  • Kerülje a körkörös függőségeket a gyűjtemény inicializálásában (CS9222).
  • Ne használja a spread operátort a catch kifejezés szűrőiben (CS9332).
  • A with(...) elemet helyezze el először a gyűjteménykifejezésekben (CS9354).
  • Csak olyan típusok esetén használjon with(...) elemeket, amelyek támogatják a gyűjteménykifejezés argumentumait (CS9355).
  • Ne használjon dinamikus argumentumokat az elemekben with(...) (CS9356).
  • Használjon üres with() elemet az írásvédett felülettípusokhoz (CS9357).
  • Ne használjon refstruktúratípusokat elemtípusként olyan gyűjteményekben, amelyek nem támogatják őket (CS9358).
  • Egyeztesse az with(...) argumentumok számát a rendelkezésre álló konstruktor-túlterhelésekkel (CS9359).

Érvénytelen tömb rangja

  • CS0178: Érvénytelen típusindex: várt "," vagy "]"
  • CS0650: Hibás tömbdeklarátor: Felügyelt tömb deklarálásához a rangkijelölő megelőzi a változó azonosítóját. Rögzített méretű puffermező deklarálásához használja a rögzített kulcsszót a mezőtípus előtt.
  • CS1552: Tömbtípus-meghatározó, []a paraméter neve előtt kell megjelennie

A tömbök helyes deklarálásához kövesse a megfelelő szintaxisrendet. További információ: Tömbök és A C# nyelv specifikációja szakasz a tömb inicializálóiról.

A tömbdeklaráció a következő elemekből áll sorrendben:

  1. A tömbelemek típusa (például int, stringvagy SomeClassType).
  2. A tömb szögletes zárójelei, opcionálisan vesszőkkel, ha több dimenzió van.
  3. A változó neve.

Tömbdimenziók megadásakor a következőket használhatja:

  • Számos elem kapcsos zárójelben ({ és })
  • Üres zárójelek
  • Egy vagy több vessző szögletes zárójelben

Az alábbi példák érvényes tömbdeklarációkat mutatnak be:

int[] anArrayOfIntegers;
string[,,] threeDimensionalStringArray;

Érvénytelen tömbhossz

  • CS0248: Nem hozható létre negatív méretű tömb
  • CS0270: A tömb mérete nem adható meg változódeklarációban (próbálja meg inicializálni egy "új" kifejezéssel)
  • CS1586: A tömb létrehozásának tömbméretet vagy tömb inicializálót kell tartalmaznia

Érvényes hosszúságú tömbök létrehozásához adja meg a méretet az inicializáláskor, ne a deklaráláskor. További információ: Tömbök.

  • Adja meg a tömb hosszát az inicializálás részeként, nem deklarációként (CS0270).
  • Csak pozitív egész számokat használjon tömbdimenziókhoz (CS0248).
  • Adjon meg egy méretet egy new kifejezésben vagy egy tömb inicializálójában (CS1586).

Az alábbi példa mindkét mechanizmust mutatja be:

int[] fiveIntegers = new int[5];
string[] weekDays = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };

Érvénytelen elemtípus

  • CS0611: A tömbelemek nem lehetnek "type" típusúak
  • CS0719: A tömbelemek nem lehetnek statikus típusúak
  • CS0820: Tömb inicializáló nem rendelhető implicit módon beírt helyihez
  • CS0826: Nem található a legjobb típus az implicit módon beírt tömbhöz

A megfelelő elemtípusú tömbök használatához kövesse az alábbi típuskorlátozásokat. További információ: Implicit módon beírt helyi változók és a leggyakoribb típus.

  • Ne használjon korlátozott típusokat, mint például System.TypedReference és System.ArgIterator, mint tömbelem-típusokat (CS0611).
  • Ne használjon static osztályokat tömbelem-típusokként, mert a példányok nem hozhatók létre (CS0719).
  • Implicit módon beírt tömbök inicializálása kifejezéssel new (CS0820).
  • Győződjön meg arról, hogy az implicit módon beírt tömb inicializáló minden eleme rendelkezik a legjobban elterjedt típussal (CS0826).

Az alábbi példák bemutatják, hogyan deklarálhatók implicit módon beírt tömbök:

var implicitType = new[] { 1, 2, 3 };
        
char c = 'c';
short s1 = 0;
short s2 = -0;
short s3 = 1;
short s4 = -1;

// common type is "int"
var commonType = new[] { s1, s2, s3, s4, c, 1 };

A leggyakoribb típus biztosítása érdekében használja az alábbi technikákat:

  • Adjon explicit típust a tömbnek.
  • Adja meg az összes tömbelemnek ugyanazt a típust.
  • Adjon meg kifejezett típuskonverziókat azokra az elemekre, amelyek a problémát okozhatják.

Érvénytelen tömb inicializáló

  • CS0623: A tömb inicializálói csak változóban vagy mező inicializálóban használhatók. Próbáljon meg helyette egy új kifejezést használni.
  • CS0846: Beágyazott tömb inicializáló várható
  • CS1925: A gyűjtemény inicializálójával nem inicializálható a "type" típusú objektum.

Ezek a hibák érvénytelen tömb inicializáló szintaxist jeleznek. További információ: Tömbök.

Érvényes tömb inicializálók létrehozása:

  • Tömb inicializálóit csak változó- vagy meződeklarációkban (CS0623) használja. new Kifejezés használata más környezetekben.
  • Kapcsos zárójelek ({ és }) illesztése elemek vagy gyermektömbök körül (CS0846).
  • Győződjön meg arról, hogy az inicializálási kifejezés megegyezik a szaggatott tömb inicializálásában lévő tömbök számával.
  • A gyűjtemény inicializálóit csak gyűjteménytípusokkal használja, ne pedig tömbökkel vagy más típusokkal (CS1925).

Érvénytelen gyűjtemény-építő

  • CS9175: A kifejezésfa nem tartalmazhat gyűjteménykifejezést.
  • CS9177: A "CollectionBuilderAttribute" építő metódus visszatérési típusának meg kell egyeznie a "betterness" kifejezésben használt gyűjteménytípussal.
  • CS9178: A természetes "típus" típushoz nincs céltípus.
  • CS9179: A gyűjteménykifejezés típusának argumentumok nélkül hívható konstruktorral kell rendelkeznie.
  • CS9180: A "CollectionBuilderAttribute" builder metódusnak statikus metódusnak kell lennie.
  • CS9181: A "CollectionBuilderAttribute" szerkesztőmetódus paramétertípusának meg kell egyeznie a "ReadOnlySpan<{0}>" paramétersel
  • CS9182: Érvénytelen "CollectionBuilderAttribute". A szerkesztőtípuson{0} nem található egyező "{1}" metódus.
  • CS9183: A "CollectionBuilderAttribute" metódus visszatérési típusának nem absztrakt, nem interfész típusúnak kell lennie, amely "típusként" használható
  • CS9185: Statikus típus nem használható típusargumentumként.
  • CS9186: A CollectionBuilderAttribute metódus neve érvénytelen.
  • CS9187: Nem található elérhető "Létrehozás" metódus a várt aláírással: egy statikus metódus, amelynek egyetlen paramétere "ReadOnlySpan<{0}>", és ""{1} típusú visszatérési típust ad vissza.
  • CS9188: A "scoped" nem használható módosítóként a gyűjteménykifejezés-típusparaméteren.
  • CS9190: A "CollectionBuilderAttribute" metódus "builderMethod" nem alkalmazható, mert általános.
  • CS9192: Beágyazott tömbkonvertálások nem használhatók gyűjteménykifejezésekkel.
  • CS9193: Az "argumentum" argumentum nem adható át a "ref" kulcsszóval.
  • CS9194: A(z) 'argumentum' paraméter nem adható át az 'out' kulcsszóval
  • CS9195: Az 'argument' nem adható át az 'in' kulcsszóval
  • CS9196: A "gyűjteménykifejezés" funkció nem érhető el a C# verzióban. Használja a "requiredVersion" vagy újabb nyelvi verziót.
  • CS9197: A "beágyazott tömbök" funkció nem érhető el a C# verzióban. Használja a "requiredVersion" vagy újabb nyelvi verziót.
  • CS9198: A 'ref' és 'unsafe' használata aszinkron és iterátoros metódusokban nem érhető el a C# 'version' verzióban. Használja a 'requiredVersion' vagy újabb nyelvi verziót.
  • CS9199: A "gyűjteménykifejezés" funkció nem érhető el a C# verzióban. Használja a "requiredVersion" vagy újabb nyelvi verziót.
  • CS9202: A "ref readonly parameters" funkció nem érhető el a C# verzióban. Használja a "requiredVersion" vagy újabb nyelvi verziót.
  • CS9208: A "nameof" operátor nem használható beágyazott tömbhozzáférésen.
  • CS9209: A "tulajdonság" ref-returning tulajdonság nem használható értékargumentumként.
  • CS9211: A kifejezésnek "type" típusúnak kell lennie, mert hivatkozás alapján van hozzárendelve
  • CS9212: Nem használható gyűjteménykifejezés egy rögzített utasítás értékeként
  • CS9217: A "ref" helyi változó nem őrizhető meg az "await" vagy "yield" határvonalán.
  • CS9218: A "paramName" egy refstruktúra, és nem lehet egy paraméter típusa
  • CS9221: A 'type' típus nem lehet ref struct vagy olyan típusparaméter, amely lehetővé teszi ref struktúrák használatát, ha azt 'parameter' paraméterként szeretné használni az általános típusban vagy a 'member' metódusban
  • CS9223: A gyűjteménykifejezésekben nem használhatók "ref" mezőket tartalmazó szerkezetek.
  • CS9228: Ref struktúra nem változóként való deklarálása nem engedélyezett
  • CS9232: A részleges metódusdeklarációk aláírási eltérésekkel rendelkeznek.
  • CS9233: A "fájl" módosító csak a fordítási egység legfelső szintjén definiált típusok esetén használható

Ha helyesen szeretne gyűjteményszerkesztő attribútumokkal rendelkező gyűjteménykifejezéseket létrehozni, kövesse az alábbi követelményeket. További információ: Gyűjteménykifejezések.

  • Győződjön meg arról, hogy a céltípus rendelkezik olyan iterációs típussal, amely támogatja foreach a (CS9188) használatát.
  • Ne használjon általános típusokat gyűjteményszerkesztő-típusokként (CS9185).
  • Ellenőrizze, hogy a megadott CollectionBuilderAttribute metódusnév érvényes-e (CS9186).
  • Csak a szükséges aláírásnak megfelelő statikus metódusokkal alkalmazza CollectionBuilderAttribute : adja vissza a gyűjtemény típusát, és vegyen fel egy ReadOnlySpan<T> olyan paramétert, amely T megfelel az elemtípusnak (CS9180, CS9181, CS9182, CS9183, CS9187, CS9190).
  • Győződjön meg arról, hogy a visszatérési típus megegyezik, és nem absztrakt vagy interfész (CS9177, CS9183).
  • Ne használjon ref szerkezeteket vagy ref mezőkkel rendelkező típusokat gyűjteménykifejezésekben (CS9218, CS9221, CS9223, CS9228).
  • Kerülje a gyűjteménykifejezések használatát a kifejezésfákban (CS9175).
  • A gyűjteménykifejezésekhez és a kapcsolódó funkciókhoz (CS9196, CS9197, CS9198, CS9199, CS9202) használja a megfelelő nyelvi verziót.

Gyakori nyelvi specifikációs figyelmeztetések

  • CS3007: A túlterhelt metódus "metódusa", amely csak névtelen tömbtípusok szerint különbözik, nem CLS-kompatibilis
  • CS3016: Az attribútumargumentumként megadott tömbök nem CLS-kompatibilisek

A CLS-kompatibilis kód tömbökkel való írásához kövesse az alábbi irányelveket. További információkért lásd a nyelv függetlenségét.

  • Ne hozzon létre túlterhelt metódusokat, amelyek csak a tömbelemtípusokban (CS3007) különböznek.
  • Ne használjon tömböket attribútumargumentumként (CS3016).

A CS3007 akkor fordul elő, ha rendelkezik egy túlterhelt metódussal, amely szaggatott tömböt fogad, és a metódusdefiníciók között az egyetlen különbség a tömb elemeinek típusa. A hiba elkerülése érdekében érdemes lehet téglalap alakú tömböt használni a szaggatott tömb helyett, vagy ha a CLS-megfelelőségre nincs szükség, távolítsa el az CLSCompliantAttribute attribútumot. A CLS-megfelelőségről további információt a nyelvfüggetlenséggel és a nyelvfüggetlen összetevőkkel kapcsolatban talál.

A CS3016 azt jelzi, hogy egy tömb attribútumnak való átadása nem felel meg a Common Language Specification (CLS) követelményeinek. A CLS-megfelelőségről további információt a nyelvi függetlenség és a nyelvfüggetlen összetevők című témakörben talál.