Partager via


EncoderFallbackBuffer Classe

Définition

Fournit une mémoire tampon qui permet à un gestionnaire de secours de retourner une autre chaîne à un encodeur lorsqu’il ne peut pas encoder un caractère d’entrée.

public ref class EncoderFallbackBuffer abstract
public abstract class EncoderFallbackBuffer
type EncoderFallbackBuffer = class
Public MustInherit Class EncoderFallbackBuffer
Héritage
EncoderFallbackBuffer
Dérivé

Remarques

Un encodage définit un mappage entre un caractère Unicode et une séquence codée d’octets. Une opération d’encodage, qui convertit un caractère d’entrée en séquence d’octets de sortie, échoue si aucun mappage n’est défini pour un caractère particulier.

Le .NET Framework fournit un mécanisme de gestion des défaillances, appelé secours, si une conversion ne peut pas être effectuée. Tous les gestionnaires de secours de l’encodeur doivent implémenter les éléments suivants :

  • Secours de l’encodeur, qui est représenté par une classe dérivée de la EncoderFallback classe.

  • Mémoire tampon de secours de l’encodeur, représentée par un type dérivé de la EncoderFallbackBuffer classe qui peut retourner une chaîne à l’opération de conversion.

Les secours peuvent utiliser trois stratégies pour gérer les échecs de conversion :

  • Mappage le mieux adapté. La mémoire tampon de secours de l’encodeur peut retourner une chaîne qui représente une approximation proche du caractère d’entrée. Le .NET Framework ne fournit pas d’implémentation adaptée au public EncoderFallbackBuffer .

  • Remplacement. La mémoire tampon de secours de l’encodeur peut retourner une chaîne, telle qu’un point d’interrogation (« ? »), qui indique qu’un caractère n’a pas pu être encodé. Dans .NET Framework, les EncoderReplacementFallback classes et EncoderReplacementFallbackBuffer les classes fournissent une implémentation de mémoire tampon de secours de remplacement publique. Le constructeur de la EncoderReplacementFallback classe vous permet de définir la chaîne de remplacement.

  • Exception. L’implémentation EncoderFallbackBuffer lève une exception, qui indique qu’un caractère ne peut pas être encodé et met fin à l’opération d’encodage. Dans ce cas, le gestionnaire de secours doit fournir une EncoderFallbackBuffer implémentation, bien qu’il ne retourne pas de chaîne à l’encodeur. Dans le .NET Framework, les EncoderExceptionFallback classes fournissent EncoderExceptionFallbackBuffer une implémentation de secours d’exception publique qui lève une EncoderFallbackException exception lorsqu’un caractère ne peut pas être encodé.

La mémoire tampon d’une EncoderFallbackBuffer implémentation représente la chaîne entière à retourner à l’encodeur en réponse à un secours d’encodeur. En règle générale, les implémentations incluent également des informations d’état, telles que l’index du caractère suivant pour revenir à l’encodeur et le nombre de caractères restants à retourner. Étant donné qu’il EncoderFallbackBuffer s’agit d’une classe abstraite, il nécessite des classes dérivées pour implémenter au minimum les membres suivants :

  • Méthode surchargée Fallback , appelée par l’encodeur lorsqu’elle ne peut pas encoder un caractère. L’encodeur transmet deux informations à l’implémentation de la mémoire tampon de secours : le caractère ou la paire de substitution qui n’a pas pu être encodée et l’index du caractère dans l’entrée. Dans un gestionnaire d’exceptions de secours d’encodeur, l’exception est levée dans cette méthode. Sinon, la méthode retourne true si elle fournit une secours ou false si elle ne le fait pas.

  • La GetNextChar méthode, appelée à plusieurs reprises par l’encodeur si la Fallback méthode retourne true. Dans les appels successifs, le gestionnaire doit retourner chaque caractère dans sa mémoire tampon. Lorsqu’il a retourné tous les caractères, il doit retourner U+0000. Un gestionnaire d’exceptions retourne toujours U+0000.

  • Méthode MovePrevious , qui tente de déplacer le pointeur vers la position précédente dans la mémoire tampon et indique si le déplacement a réussi. Un gestionnaire d’exceptions retourne falsetoujours .

  • Propriété Remaining , qui indique le nombre de caractères restants à retourner à l’encodeur. Un gestionnaire de secours d’exception retourne toujours zéro.

Constructeurs

Nom Description
EncoderFallbackBuffer()

Initialise une nouvelle instance de la classe EncoderFallbackBuffer.

Propriétés

Nom Description
Remaining

En cas de substitution dans une classe dérivée, obtient le nombre de caractères dans l’objet actuel EncoderFallbackBuffer qui restent à traiter.

Méthodes

Nom Description
Equals(Object)

Détermine si l’objet spécifié est égal à l’objet actuel.

(Hérité de Object)
Fallback(Char, Char, Int32)

En cas de substitution dans une classe dérivée, prépare la mémoire tampon de secours pour gérer la paire de substitution spécifiée.

Fallback(Char, Int32)

En cas de substitution dans une classe dérivée, prépare la mémoire tampon de secours pour gérer le caractère d’entrée spécifié.

GetHashCode()

Sert de fonction de hachage par défaut.

(Hérité de Object)
GetNextChar()

En cas de substitution dans une classe dérivée, récupère le caractère suivant dans la mémoire tampon de secours.

GetType()

Obtient la Type de l’instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Objectactuel.

(Hérité de Object)
MovePrevious()

En cas de substitution dans une classe dérivée, l’appel suivant à la GetNextChar() méthode permet d’accéder à la position de caractère de mémoire tampon de données antérieure à la position de caractère actuelle.

Reset()

Initialise toutes les données et informations d’état relatives à cette mémoire tampon de secours.

ToString()

Retourne une chaîne qui représente l’objet actuel.

(Hérité de Object)

S’applique à

Voir aussi