Udostępnij za pomocą


System.NotImplementedException: klasa

Ten artykuł zawiera dodatkowe uwagi dotyczące dokumentacji referencyjnej dla tego interfejsu API.

Wyjątek NotImplementedException jest zgłaszany, gdy określona metoda, metoda dostępu get lub metoda dostępu set jest obecna jako element członkowski typu, ale nie jest zaimplementowana.

NotImplementedException używa domyślnej implementacji Object.Equals, która obsługuje równość odwołań. Aby uzyskać listę wartości początkowych dla instancji NotImplementedException, prosimy o zapoznanie się z konstruktorami NotImplementedException.

Rzuć wyjątek

Możesz zgłosić NotImplementedException wyjątek we właściwościach lub metodach we własnych typach, gdy ten element jest nadal w fazie programowania i będzie implementowany dopiero później w kodzie produkcyjnym. Innymi słowy, NotImplementedException wyjątek powinien być synonimem "nadal w rozwoju".

Zarządzaj wyjątkiem

Wyjątek NotImplementedException wskazuje, że metoda lub właściwość, którą próbujesz wywołać, nie ma implementacji i dlatego nie zapewnia żadnych funkcji. W związku z tym nie należy obsługiwać tego błędu w bloku try/catch. Zamiast tego należy usunąć wywołanie członka z kodu. Wywołanie elementu członkowskiego można dołączyć po zaimplementowaniu go w wersji produkcyjnej biblioteki.

W niektórych przypadkach NotImplementedException wyjątek może nie być używany do wskazywania funkcjonalności, która jest nadal opracowywana w bibliotece przedprodukcyjnej. Jednak nadal oznacza to, że funkcjonalność jest niedostępna i należy usunąć wywołanie funkcji członkowskiej z kodu.

NotImplementedException i inne typy wyjątków

Platforma .NET zawiera również dwa inne typy wyjątków, NotSupportedException i PlatformNotSupportedException, które wskazują, że brak implementacji dla określonego członka typu. Należy rzucić jeden z tych wyjątków zamiast wyjątku NotImplementedException w następujących sytuacjach:

  • Rzuć PlatformNotSupportedException wyjątek na platformach, na których funkcjonalność nie jest obsługiwana, jeśli zaprojektowałeś typ z jednym lub więcej elementami członkowskimi, które są dostępne na niektórych platformach lub wersjach, ale nie na innych.

  • Rzuć wyjątek NotSupportedException, jeśli implementacja elementu członkowskiego interfejsu lub przesłonięcie abstrakcyjnej metody klasy bazowej nie jest możliwa.

    Na przykład metoda Convert.ToInt32(DateTime) zgłasza wyjątek NotSupportedException ponieważ nie istnieje zrozumiała konwersja między datą i godziną a 32-bitową liczbą całkowitą ze znakiem. Metoda musi być obecna w tym przypadku, ponieważ Convert klasa implementuje IConvertible interfejs.

Należy również zgłosić wyjątek, jeśli zaimplementowano abstrakcyjną klasę NotSupportedException bazową i dodać do niej nowy element członkowski, który musi zostać zastąpiony przez klasy pochodne. W takim przypadku oznaczenie członka jako abstrakcyjny powoduje niemożność załadowania istniejących podklas.