Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Paraméterekkel vagy
-
CS1100: A metódus rendelkezik egy ""
this
paramétermódosítóval, amely nem az első paraméteren található -
CS1101: A "
ref
" paramétermódosító nem használható a ""this
paraméterrel. -
CS1102: A "
out
" paramétermódosító nem használható a ""this
paraméterrel. - CS1103: A bővítménymetódus első paramétere nem lehet mutató típusú.
- CS1105: A kiterjesztési módszereknek statikusnak kell lenniük.
- CS1106: A bővítménymetelyeket nem általános statikus osztályban kell definiálni.
- CS1109: A bővítménymetelyeket felső szintű statikus osztályokban kell definiálni, a "név" beágyazott osztály.
- CS1110: Nem lehet új bővítményt definiálni, mert a fordító szükséges típusa ExtensionAttribute nem található. Hiányzik egy hivatkozás a System.Core.dll?
-
CS1112: Ne használja a ""ExtensionAttribute parancsot. Használja inkább a "
this
" kulcsszót. - CS1113: Az értéktípuson definiált bővítménymetódus nem használható meghatalmazottak létrehozására.
- CS1743: Az "ez" paraméter alapértelmezett értéke nem adható meg.
- CS9281: Előfordulhat, hogy a bővítménydeklarációknak nincs neve.
- CS9282: A bővítménydeklarációk csak metódusokat vagy tulajdonságokat tartalmazhatnak.
- CS9283: A bővítményeket felső szintű, nem általános, statikus osztályban kell deklarálni.
- CS9284: A bővítmény fogadóparamétere nem rendelkezhet alapértelmezett értékkel.
- CS9285: A bővítménytárolók csak egy fogadóparamétert tartalmazhatnak.
- CS9287: A fogadóparaméterek neve nem lehet azonos a bővítménytároló típusparaméterével.
- CS9288: Egy paraméternek, helyi változónak vagy helyi függvénynek nem lehet ugyanaz a neve, mint egy bővítménytároló-típusparaméternek.
- CS9289: A tagtípus paraméter neve megegyezik a bővítménytároló típusparaméterével.
- CS9290: Egy paraméternek, helyi változónak vagy helyi függvénynek nem lehet ugyanaz a neve, mint egy bővítményparaméternek.
-
CS9291: ''
value
: egy automatikusan létrehozott paraméternév ütközik egy bővítményparaméter nevével. - CS9292: Egy típusparaméter neve megegyezik a bővítményparaméter nevével.
- CS9293: Ebben a környezetben nem használható bővítményparaméter.
-
CS9294: ''
value
: egy automatikusan létrehozott paraméternév ütközik egy bővítménytípus paraméter nevével. - CS9295: A kiterjesztett típusnak a bővítmény által deklarált összes típusparaméterre hivatkoznia kell, de a típusparaméterre nincs hivatkozás.
-
CS9300: A bővítményblokkok "
ref
" fogadóparaméterének értéktípusnak vagy strukturálásra korlátozott általános típusnak kell lennie. -
CS9301: A kiterjesztés "
in
" vagy "ref readonly
" fogadóparaméterének konkrét (nem általános) értéktípusnak kell lennie. - CS9302: egy bővítményblokkban deklarált új védett tag.
- CS9303: Nem deklarálható a példánytagok név nélküli fogadóparaméterrel rendelkező bővítményblokkban.
- CS9304: A bővítményblokkokban nem deklarálhatók csak inicializáló hozzáférők.
- CS9305: Nem használhatók módosítók a bővítményblokk névtelen fogadóparaméterén.
A bővítménydeklarációk gyakori hibái
A fordító ezeket a hibákat akkor bocsátja ki, ha megsérti az összes bővítménytag-deklarációra vonatkozó szabályokat, függetlenül a választott szintaxistól:
-
CS1102: A "
out
" paramétermódosító nem használható a ""this
paraméterrel. - CS1106: A bővítménymetelyeket nem általános statikus osztályban kell definiálni.
- CS1103: A bővítménymetódus első paramétere nem lehet mutató típusú.
- CS1109: A bővítménymetelyeket felső szintű statikus osztályokban kell definiálni, a "név" beágyazott osztály.
- CS1113: Az értéktípuson definiált bővítménymetódus nem használható meghatalmazottak létrehozására.
- CS1743: Az "ez" paraméter alapértelmezett értéke nem adható meg.
- CS9283: A bővítményeket felső szintű, nem általános, statikus osztályban kell deklarálni.
- CS9284: A bővítmény fogadóparamétere nem rendelkezhet alapértelmezett értékkel.
- CS9285: A bővítménytárolók csak egy fogadóparamétert tartalmazhatnak.
A bővítménydeklarációknak a következő szabályokat kell követniük:
- A benne található típusnak (
class
vagystruct
) nem általánosnak ésstatic
nem generikusnak kell lennie. - A benne található típusnak legfelső szintű típusnak kell lennie. Más típusba nem ágyazható be.
- Az értéktípusú példányokat kiterjesztő tagok nem konvertálhatók delegáltakká.
- A fogadó paraméter nem tartalmazhat paramétermódosítót
out
. - A fogadó paraméter nem rendelkezhet alapértelmezett argumentumértékkel.
- A mutatótípusok nem bővíthetők. Más szóval a módosító paraméter
this
nem lehet mutatótípus.
Bővítményblokk-deklarációkkal kapcsolatos hibák
Ezek a hibák a C# 14-funkcióval, a bővítményblokkokkal kapcsolatosak. A bővítményblokkok a kulcsszóval extension
vannak deklarálva egy statikus osztályban. A extension
vevő típusának és nevének deklarálása. A blokkban lévő összes tag a fogadó bővítménytagja extension
:
- CS9281: Előfordulhat, hogy a bővítménydeklarációknak nincs neve.
- CS9282: A bővítménydeklarációk csak metódusokat vagy tulajdonságokat tartalmazhatnak.
- CS9287: A fogadóparaméterek neve nem lehet azonos a bővítménytároló típusparaméterével.
- CS9288: Egy paraméternek, helyi változónak vagy helyi függvénynek nem lehet ugyanaz a neve, mint egy bővítménytároló-típusparaméternek.
- CS9289: A tagtípus paraméter neve megegyezik a bővítménytároló típusparaméterével.
- CS9290: Egy paraméternek, helyi változónak vagy helyi függvénynek nem lehet ugyanaz a neve, mint egy bővítményparaméternek.
-
CS9291: ''
value
: egy automatikusan létrehozott paraméternév ütközik egy bővítményparaméter nevével. - CS9292: Egy típusparaméter neve megegyezik a bővítményparaméter nevével.
- CS9293: Ebben a környezetben nem használható bővítményparaméter.
-
CS9294: ''
value
: egy automatikusan létrehozott paraméternév ütközik egy bővítménytípus paraméter nevével. - CS9295: A kiterjesztett típusnak a bővítmény által deklarált összes típusparaméterre hivatkoznia kell, de a típusparaméterre nincs hivatkozás.
-
CS9300: A bővítményblokkok "
ref
" fogadóparaméterének értéktípusnak vagy strukturálásra korlátozott általános típusnak kell lennie. -
CS9301: A kiterjesztés "
in
" vagy "ref readonly
" fogadóparaméterének konkrét (nem általános) értéktípusnak kell lennie. - CS9302: egy bővítményblokkban deklarált új védett tag.
- CS9303: Példánytagok nem deklarálhatók név nélküli fogadóparaméterrel rendelkező bővítményblokkban.
- CS9304: Kiterjesztési blokkokban nem lehet csak inicializálható hozzáférőket deklarálni.
- CS9305: Nem használhatók módosítók a bővítményblokk névtelen fogadóparaméterén.
A bővítménydeklarációknak az alábbi szabályokat kell követniük:
- A bővítmény nem tartalmazhat név azonosítót. A bővítmény csak a fogadót deklarálja.
- A fogadó paraméter nem rendelkezhet alapértelmezett értékkel.
A bővítményblokkban deklarált bővítménytagoknak a közös szabályokon kívül az alábbi szabályokat kell követniük:
- Csak a metódusok és tulajdonságok érvényesek a bővítménytagtípusokra. A bővítménytagok kiterjeszthetnek egy példányt vagy típust.
- A bővítménynek meg kell adnia a fogadó paraméter nevét ahhoz, hogy olyan tagokat tartalmazzon, amelyek egy objektum példányát bővítik.
- A fogadó paraméter nevének egyedinek kell lennie a bővítményblokkban.
- Minden bővítménytagnak a bővítményen deklarált összes típusparamétert kell használnia. További típusparamétereket is hozzáadhatnak.
A paraméterkiterjesztési metódusokkal kapcsolatos this
hibák
Ezek a hibák kiterjesztési metódusokra vonatkoznak, ahol a fogadót a this
módosító metódus első paraméteréhez való hozzáadásával deklarálja.
-
CS1100: A metódus rendelkezik egy ""
this
paramétermódosítóval, amely nem az első paraméteren található -
CS1101: A "
ref
" paramétermódosító nem használható a ""this
paraméterrel. - CS1105: A kiterjesztési módszereknek statikusnak kell lenniük.
- CS1110: Nem lehet új kiterjesztést definiálni, mert a fordító által igényelt típus ExtensionAttribute nem található. Hiányzik egy hivatkozás a System.Core.dll-re?
-
CS1112: Ne használja a ""ExtensionAttribute parancsot. Használja inkább a "
this
" kulcsszót.
Egy olyan bővítménymetódusnak, amelyben a fogadópéldány tartalmazza a this
módosítót, a közös szabályok mellett az alábbi szabályokat kell követnie:
- A metódusnak rendelkeznie kell a
static
módosítóval. - A
this
paramétermódosítót az első paraméterre kell alkalmazni. A metódus más paramétereire nem alkalmazható. - A
ref
out
paramétermódosító nem alkalmazható az első paraméterre. Az alkalmazáshozref
bővítményblokká kell konvertálnia. - A .NET-keretrendszerbeli alkalmazásokban
System.Core.dll
referenciaként kell hozzáadni. - Meg kell adnia a
this
módosítót az első paraméteren. Ehelyett nem használhatja közvetlenül az ExtensionAttribute attribútumot.