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.
A C#-fordító hibákat és figyelmeztetéseket generál, ha a fájl helyi típusaival visszaél. A fájl helyi típusai csak azon a fájlon belül láthatók, amelyben deklarálja őket. Ezek a diagnosztikák segítenek követni a fájl helyi típusainak deklarálására és használatára vonatkozó szabályokat.
- CS9051: A fájl-helyi típusa nem használható nem fájl-helyi típus tag aláírásban.
- CS9052: A fájl helyi típusa nem használhat akadálymentességi módosítókat.
- CS9053: A fájl helyi típusa nem használható nem helyi típusú alaptípusként.
- CS9054: A fájl helyi típusát felső szintű típusban kell definiálni; beágyazott típus.
- CS9055: A fájl helyi típusa nem használható a "globális statikus használatával" irányelvben.
- CS9056: A típusok és aliasok nem nevezhetők fájlnak.
- CS9068: A fájl helyi típusát egyedi elérési úttal rendelkező fájlban kell deklarálni. Az elérési út több fájlban is használható.
- CS9069: A fájl helyi típusa nem használható, mert a fájl elérési útja nem alakítható át egyenértékű UTF-8 bájtos reprezentációvá.
- CS9071: A névtér már tartalmaz egy definíciót a fájl típusához.
Láthatósági korlátozások
- CS9051: A fájl helyi típusa nem használható a nem fájl helyi típusú tagaadítmákban.
- CS9052: A fájl helyi típusa nem használhat akadálymentességi módosítókat.
- CS9053: A fájl helyi típusa nem használható nem helyi típusú alaptípusként.
- CS9055: A fájl helyi típusa nem használható a "globális statikus használatával" irányelvben.
A fájl helyi típusa csak a deklarációt tartalmazó fájlban látható. A fordító korlátozásokat kényszerít ki, hogy megakadályozza a fájl helyi típusainak "kiszivárgását" a kívánt hatókörön kívül:
- A fájl helyi típusa nem jelenhet meg a nem fájlalapú típusban (CS9051) deklarált tagok aláírásában (paraméterek, visszatérési típus vagy típuskorlátozások). Ez a korlátozás biztosítja, hogy a más fájlokban lévő kód ne függhessen a nem elérhető típusoktól.
- A fájl helyi típusok nem rendelkezhetnek explicit akadálymentességi módosítókkal, például
public,internalvagyprivate(CS9052). Afilemódosító már definiálja a típus láthatósági hatókörét, így a többi hozzáférési módosító értelmetlenné válik. - A nem fájlalapú típus nem örökölhető fájl helyi típustól (CS9053). Ha egy származtatott típus látható a fájlon kívül, az alaptípusnak is láthatónak kell lennie. A nem fájlalapú típus azonban implementálhat egy fájl-helyi felületet.
- A fájl helyi típusa nem használható irányelvben
global using static(CS9055). A globális használat a fordításban lévő összes fájlra vonatkozik, de a fájl helyi típusai csak a deklaráló fájlban láthatók.
A hibák megoldásához távolítsa el a módosítót a file típusból, hogy a fájlon kívül is elérhető legyen, vagy módosítsa a fogyasztó kódot, hogy elkerülje a fájl helyi típusának felfedését.
Deklarációs szabályok
- CS9054: A fájl helyi típusát felső szintű típusban kell definiálni; beágyazott típus.
- CS9056: A típusok és aliasok nem nevezhetők fájlnak.
- CS9071: A névtér már tartalmaz egy definíciót a fájl típusához.
A fordító kikényszeríti a fájl-helyi típusok deklarálására vonatkozó szabályokat:
- A fájl helyi típusait a fájl legfelső szintjén kell deklarálni, nem pedig egy másik típusba (CS9054) ágyazva. A hiba megoldásához helyezze át a típusdeklarációt bármely tartalomtípuson kívülre, vagy távolítsa el a
filemódosítót. - A típusnevek és típus álnevek nem használhatók
filenéven, mert ez mostantól környezetfüggő kulcsszó (CS9056). A hiba megoldásához nevezze át a típust, vagy lépjen@fileki az azonosítóból. - Egy fájl nem deklarálhat több, azonos nevű fájltípust ugyanabban a névtérben (CS9071). Minden fájl helyi típusának egyedi névvel kell rendelkeznie a fájl névterének hatókörében. A hiba megoldásához nevezze át az egyik ütköző típust.
A fájl elérési útjának követelményei
- CS9068: A fájl helyi típusát egyedi elérési úttal rendelkező fájlban kell deklarálni. Az elérési út több fájlban is használható.
- CS9069: A fájl helyi típusa nem használható, mert a fájl elérési útja nem alakítható át egyenértékű UTF-8 bájtos reprezentációvá.
A fordító a fájl útvonalát használja, hogy egyedi belső neveket generáljon a fájlszintű típusokhoz. Ez az elnevezési séma lehetővé teszi, hogy több fájl ütközés nélkül deklarálja az azonos nevű fájltípusokat:
- A helyi fájltípusokat tartalmazó fájloknak egyedi elérési útnak kell lenniük a fordításban (CS9068). Ez a hiba általában olyan forrásgenerátoroknál fordul elő, amelyek több, azonos elérési úttal rendelkező fájlt hoznak létre. A hiba elhárításához győződjön meg arról, hogy minden létrehozott fájlnak külön elérési útja van.
- A fájl elérési útjának UTF-8 kódolássá (CS9069) kell konvertálhatónak lennie. Ez a hiba akkor fordul elő, ha a fájl elérési útja olyan karaktereket tartalmaz, amelyek nem jeleníthetők meg az UTF-8-ban. A hiba megoldásához nevezze át a fájlt vagy könyvtárat úgy, hogy az UTF-8-ban érvényes karaktereket használjon.
Ezek a hibák leggyakrabban a forrásgenerátor szerzőit érintik. A fájl helyi típusok forrásgenerátorokban való használatával kapcsolatos további információkért lásd a fájl helyi típusait.