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.
Megjegyzés:
Ez a cikk kiegészítő megjegyzéseket tartalmaz az API referenciadokumentációjához.
A NotImplementedException kivétel akkor fordul elő, ha egy adott metódus, tartozék lekérése vagy beállítása egy típus tagjaként jelen van, de nincs implementálva.
NotImplementedException az alapértelmezett Object.Equals implementációt használja, amely támogatja a referencia-egyenlőséget. Egy példány NotImplementedExceptionkezdeti értékeinek listájáért tekintse meg a NotImplementedException konstruktorokat.
A kivétel elvetése
Dönthet úgy, hogy kivételt NotImplementedException dob a saját típusainak tulajdonságaiban vagy metódusaiban, ha az adott tag még fejlesztés alatt áll, és csak később lesz implementálva a produkciós kódban. Más szóval a NotImplementedException kivételnek a "még fejlesztés alatt álló" szinonimának kell lennie.
A kivétel kezelése
A NotImplementedException kivétel azt jelzi, hogy a meghívni kívánt metódus vagy tulajdonság nem rendelkezik implementációval, ezért nem biztosít funkciókat. Ennek eredményeképpen ezt a hibát nem szabad try/catch blokkban kezelni. Ehelyett távolítsa el a taghívást a kódból. A kódtár éles verziójában való implementáláskor meghívhatja a tagot.
Bizonyos esetekben előfordulhat, hogy egy NotImplementedException kivétel nem jelzi az éles üzem előtti kódtárban még fejlesztés alatt álló funkciókat. Ez azonban továbbra is azt jelzi, hogy a funkció nem érhető el, ezért el kell távolítania a taghívást a kódból.
NotImplementedException és egyéb kivételtípusok
A .NET két másik kivételtípust is tartalmaz, NotSupportedException és PlatformNotSupportedException, amelyek azt jelzik, hogy nem létezik implementáció egy adott típus egy tagjára. A következő feltételek közül az egyik fennállása esetén érdemes NotImplementedException kivétel helyett ezt használni:
Dobja a PlatformNotSupportedException kivételt azokon a platformokon, amelyeken a funkció nem támogatott, ha olyan típust tervezett, amely legalább egy taggal rendelkezik, amely egyes platformokon vagy verziókban elérhető, másokon viszont nem.
Dobjon NotSupportedException kivételt, ha egy interfész tag megvalósítása vagy egy absztrakt alaposztály metódusának felülbírálása nem lehetséges.
A Convert.ToInt32(DateTime) metódus például NotSupportedException kivételt dob, mert nincs értelmes átalakítás a dátum és az idő, valamint a 32 bites aláírt egész szám között. Ebben az esetben a metódusnak jelen kell lennie, mert az Convert osztály implementálja az interfészt IConvertible .
Akkor is kivételt NotSupportedException kell alkalmaznia, ha egy absztrakt alaposztályt implementált, és hozzáad egy új tagot, amelyet felül kell bírálnia a származtatott osztályoknak. Ebben az esetben a tag absztrakttá tétele miatt a meglévő alosztályok nem tudnak betöltődni.