Прочитать на английском

Поделиться через


EncoderFallbackBuffer.Fallback Метод

Определение

Указывает, что замещающая строка доступна, если исходная входная последовательность не может быть закодирована или если исходная входная последовательность должна быть проигнорирована.

Перегрузки

Fallback(Char, Int32)

При переопределении в производном классе готовит резервный буфер для обработки указанного входного символа.

Fallback(Char, Char, Int32)

При переопределении в производном классе готовит резервный буфер для обработки указанной суррогатной пары.

Fallback(Char, Int32)

Исходный код:
EncoderFallback.cs
Исходный код:
EncoderFallback.cs
Исходный код:
EncoderFallback.cs

При переопределении в производном классе готовит резервный буфер для обработки указанного входного символа.

C#
public abstract bool Fallback(char charUnknown, int index);

Параметры

charUnknown
Char

Входной символ.

index
Int32

Позиция индекса символа во входном буфере.

Возвращаемое значение

true, если резервный буфер может обработать charUnknown; false, если резервный буфер игнорирует charUnknown.

Комментарии

Методы Encoding.GetBytes и Encoder.Convert вызываются Fallback(Byte[], Int32) при обнаружении неизвестного входного символа, который не может быть закодирован. Возвращаемое значение указывает, что резервный true буфер может обработать входной символ, в результате чего вызывающий метод вызывает GetNextChar метод для получения каждого символа резервного буфера. Так как он не обрабатывает отдельные символы, Fallback метод в резервном обработчике исключений создает исключение.

Применяется к

.NET 10 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Fallback(Char, Char, Int32)

Исходный код:
EncoderFallback.cs
Исходный код:
EncoderFallback.cs
Исходный код:
EncoderFallback.cs

При переопределении в производном классе готовит резервный буфер для обработки указанной суррогатной пары.

C#
public abstract bool Fallback(char charUnknownHigh, char charUnknownLow, int index);

Параметры

charUnknownHigh
Char

Старший символ-заместитель входной пары.

charUnknownLow
Char

Младший символ-заместитель входной пары.

index
Int32

Позиция индекса суррогатной пары во входном буфере.

Возвращаемое значение

true, если резервный буфер может обработать charUnknownHigh и charUnknownLow, false, если резервный буфер игнорирует суррогатную пару.

Комментарии

Методы Encoding.GetBytes и Encoder.Convert вызываются Fallback(Char, Char, Int32) , если они сталкиваются с суррогатной парой во входных данных. Возвращаемое значение указывает, что резервный true буфер может обработать суррогатную пару, в результате чего вызывающий метод вызывает GetNextChar метод для получения каждого символа резервного буфера. Так как он не обрабатывает отдельные символы, Fallback метод в резервном обработчике исключений создает исключение.

Применяется к

.NET 10 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0