Udostępnij za pośrednictwem


EncoderFallbackBuffer Klasa

Definicja

Udostępnia bufor, który umożliwia programowi obsługi rezerwowej zwrócenie alternatywnego ciągu do kodera, gdy nie może zakodować znaku wejściowego.

public ref class EncoderFallbackBuffer abstract
public abstract class EncoderFallbackBuffer
type EncoderFallbackBuffer = class
Public MustInherit Class EncoderFallbackBuffer
Dziedziczenie
EncoderFallbackBuffer
Pochodne

Uwagi

Kodowanie definiuje mapowanie między znakiem Unicode a zakodowaną sekwencją bajtów. Operacja kodowania, która konwertuje znak wejściowy na sekwencję bajtów wyjściowych, kończy się niepowodzeniem, jeśli nie zdefiniowano żadnego mapowania dla określonego znaku.

.NET Framework zapewnia mechanizm obsługi błędów nazywany rezerwą, jeśli nie można wykonać konwersji. Wszystkie programy obsługi rezerwowych koderów muszą implementować następujące elementy:

  • Rezerwowy koder, który jest reprezentowany przez klasę pochodną EncoderFallback klasy .

  • Bufor rezerwowy kodera, który jest reprezentowany przez typ pochodzący z EncoderFallbackBuffer klasy, który może zwrócić ciąg do operacji konwersji.

Rezerwowe mogą używać trzech strategii do obsługi błędów konwersji:

Bufor w EncoderFallbackBuffer implementacji reprezentuje cały ciąg, który ma zostać zwrócony do kodera w odpowiedzi na rezerwowy koder. Ogólnie rzecz biorąc, implementacje obejmują również informacje o stanie, takie jak indeks następnego znaku w celu powrotu do kodera i liczba pozostałych znaków do zwrócenia. Ponieważ EncoderFallbackBuffer jest to klasa abstrakcyjna, wymaga klas pochodnych, aby zaimplementować co najmniej następujące elementy członkowskie:

  • Przeciążona Fallback metoda, która jest wywoływana przez koder, gdy nie może zakodować znaku. Koder przekazuje dwie informacje do implementacji bufora rezerwowego: pary znaków lub zastępczej, która nie może zostać zakodowana, oraz indeks znaku w danych wejściowych. W procedurze obsługi wyjątków rezerwowych kodera wyjątek jest zgłaszany w tej metodzie. W przeciwnym razie metoda zwraca true wartość , jeśli zawiera rezerwę lub false jeśli nie.

  • Metoda GetNextChar , która jest wywoływana wielokrotnie przez koder, jeśli Fallback metoda zwraca wartość true. W kolejnych wywołaniach program obsługi powinien zwrócić każdy znak w buforze. Po zwróceniu wszystkich znaków powinna zostać zwrócona wartość U+0000. Procedura obsługi wyjątków zawsze zwraca wartość U+0000.

  • Metoda MovePrevious , która próbuje przenieść wskaźnik do poprzedniej pozycji w buforze i wskazuje, czy przeniesienie zakończyło się pomyślnie. Procedura obsługi wyjątków zawsze zwraca wartość false.

  • Właściwość Remaining , która wskazuje liczbę pozostałych znaków, które mają zostać zwrócone do kodera. Procedura obsługi rezerwowej wyjątku zawsze zwraca zero.

Konstruktory

EncoderFallbackBuffer()

Inicjuje nowe wystąpienie klasy EncoderFallbackBuffer.

Właściwości

Remaining

Po zastąpieniu w klasie pochodnej pobiera liczbę znaków w bieżącym EncoderFallbackBuffer obiekcie, które pozostają do przetworzenia.

Metody

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
Fallback(Char, Char, Int32)

Po zastąpieniu w klasie pochodnej przygotowuje bufor rezerwowy do obsługi określonej pary zastępczej.

Fallback(Char, Int32)

Podczas zastępowania w klasie pochodnej przygotowuje bufor rezerwowy do obsługi określonego znaku wejściowego.

GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetNextChar()

Po zastąpieniu w klasie pochodnej pobiera następny znak w buforze rezerwowym.

GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
MovePrevious()

Podczas zastępowania w klasie pochodnej powoduje następne wywołanie GetNextChar() metody w celu uzyskania dostępu do pozycji znaku bufora danych, która jest wcześniejsza niż bieżąca pozycja znaku.

Reset()

Inicjuje wszystkie dane i informacje o stanie dotyczące tego bufora rezerwowego.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy

Zobacz też