Esporta (0) Stampa
Espandi tutto
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

Classe EncoderFallbackBuffer

Fornisce un buffer che consente a un gestore di fallback di restituire una stringa alternativa a un codificatore quando non può codificare un carattere di input.

Spazio dei nomi:  System.Text
Assembly:  mscorlib (in mscorlib.dll)

public abstract class EncoderFallbackBuffer

Il tipo EncoderFallbackBuffer espone i seguenti membri.

  NomeDescrizione
Metodo protettoEncoderFallbackBufferInizializza una nuova istanza della classe EncoderFallbackBuffer.
In alto

  NomeDescrizione
Proprietà pubblicaRemainingQuando sottoposto a override in una classe derivata, ottiene il numero di caratteri nell'oggetto EncoderFallbackBuffer corrente ancora da elaborare.
In alto

  NomeDescrizione
Metodo pubblicoEquals(Object) Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object)
Metodo pubblicoFallback(Char, Int32)Quando sottoposto a override in una classe derivata, prepara il buffer di fallback per la gestione del carattere di input specificato.
Metodo pubblicoFallback(Char, Char, Int32)Quando sottoposto a override in una classe derivata, prepara il buffer di fallback per la gestione della coppia di surrogati specificata.
Metodo protettoFinalize Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulizia prima che l'oggetto stesso venga reclamato dalla procedura di Garbage Collection. (Ereditato da Object)
Metodo pubblicoGetHashCode Funge da funzione hash per un particolare tipo. (Ereditato da Object)
Metodo pubblicoGetNextCharQuando sottoposto a override in una classe derivata, recupera il carattere successivo nel buffer di fallback.
Metodo pubblicoGetType Ottiene il Type dell'istanza corrente. (Ereditato da Object)
Metodo protettoMemberwiseClone Crea una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object)
Metodo pubblicoMovePreviousQuando sottoposto a override in una classe derivata, genera la chiamata successiva al metodo GetNextChar per accedere alla posizione del carattere del buffer di dati precedente al carattere corrente.
Metodo pubblicoResetInizializza tutti i dati e le informazioni sullo stato relativamente a questo buffer di fallback.
Metodo pubblicoToString Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object)
In alto

Una codifica definisce un mapping tra un carattere Unicode e una sequenza codificata di byte. Un'operazione di codifica che converte un carattere di input in una sequenza di byte di output non riesce se non è definito alcun mapping per un carattere particolare.

Se non è possibile eseguire una conversione, .NET Framework fornisce un meccanismo di gestione degli errori denominato fallback. Tutti i gestori di fallback del codificatore devono implementare gli elementi seguenti:

  • Fallback del codificatore, rappresentato da una classe derivata dalla classe EncoderFallback.

  • Buffer di fallback del codificatore, rappresentato da un tipo derivato dalla classe EncoderFallbackBuffer, che può restituire una stringa all'operazione di conversione.

I fallback possono utilizzare tre strategie per gestire errori di conversione:

  • Fallback con mapping più appropriato. Il buffer di fallback del codificatore può restituire una stringa che rappresenta un'approssimazione molto vicina al carattere di input. .NET Framework non consente un'implementazione pubblica più appropriata per EncoderFallbackBuffer.

  • Replacement. Il buffer di fallback del codificatore può restituire una stringa, ad esempio un punto interrogativo ("?") indicante che un carattere non è stata codificato. In .NET Framework, le classi EncoderReplacementFallback e EncoderReplacementFallbackBuffer forniscono un'implementazione del buffer di fallback di sostituzione pubblica. Il costruttore della classe EncoderReplacementFallback consente di definire la stringa di sostituzione.

  • Eccezione. L'implementazione EncoderFallbackBuffer genera un'eccezione indicante che non è possibile codificare un carattere e termina l'operazione di codifica. In questo caso il gestore di fallback deve fornire un'implementazione EncoderFallbackBuffer, anche se non restituisce una stringa al codificatore. In .NET Framework le classi EncoderExceptionFallback e EncoderExceptionFallbackBuffer forniscono un'implementazione del fallback di eccezione che genera un'eccezione EncoderFallbackException quando non è possibile decodificare un carattere.

Il buffer in un'implementazione EncoderFallbackBuffer rappresenta la stringa intera da restituire al codificatore in risposta a un fallback del codificatore. Generalmente, le implementazioni includono anche informazioni sullo stato, ad esempio l'indice del carattere successivo da restituire al codificatore e il numero di caratteri rimanenti da restituire. Poiché EncoderFallbackBuffer è una classe astratta, richiede classi derivate per implementare i membri seguenti a un minimo:

  • Il metodo Fallback di overload, chiamato dal codificatore quando non può codificare un carattere. Il codificatore passa due informazioni all'implementazione del buffer di fallback: il carattere o la coppia di surrogati che non sono stati codificati e l'indice del carattere di input. In un gestore di eccezioni del fallback del codificatore l'eccezione viene generata in questo metodo. In caso contrario, il metodo restituisce true se fornisce un fallback o false altrimenti.

  • Il metodo GetNextChar chiamato ripetutamente dal codificatore se il metodo Fallback restituisce true. Nelle chiamate successive il gestore deve restituire ogni carattere nel relativo buffer. Quando ha restituito tutti i caratteri, deve restituire U+0000. Un gestore di eccezioni restituisce sempre U+0000.

  • Il metodo MovePrevious, che tenta di spostare il puntatore nella posizione precedente nel buffer e indica se lo spostamento è stato eseguito correttamente. Un gestore di eccezioni restituisce sempre false.

  • La proprietà Remaining che indica il numero di caratteri rimanenti da restituire al codificatore. Un gestore di fallback di eccezione restituisce sempre zero.

.NET Framework

Supportato in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supportato in: 4, 3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (ruoli di base del server non supportati), Windows Server 2008 R2 (ruoli di base del server supportati con SP1 o versione successiva, Itanium non supportato)

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Aggiunte alla community

AGGIUNGI
Mostra:
© 2014 Microsoft