DecoderFallbackBuffer Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Fournit une mémoire tampon qui permet à un gestionnaire de secours de retourner une autre chaîne à un décodeur lorsqu’il ne peut pas décoder une séquence d’octets d’entrée.
public ref class DecoderFallbackBuffer abstract
public abstract class DecoderFallbackBuffer
type DecoderFallbackBuffer = class
Public MustInherit Class DecoderFallbackBuffer
- Héritage
-
DecoderFallbackBuffer
- 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 de décodage, qui convertit une séquence d’octets d’entrée en caractère de sortie, échoue si aucun mappage n’est défini pour une séquence d’octets particulière.
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 décodeur doivent implémenter les éléments suivants :
Secours du décodeur, qui est représenté par une classe dérivée de la DecoderFallback classe.
Mémoire tampon de secours du décodeur, représentée par un type dérivé de la DecoderFallbackBuffer 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 du décodeur peut retourner une chaîne qui représente une approximation proche de la séquence d’octets d’entrée. Le .NET Framework ne fournit pas d’implémentation adaptée au public DecoderFallbackBuffer .
Remplacement. La mémoire tampon de secours du décodeur peut retourner une chaîne, telle qu’un point d’interrogation (« ? »), qui indique qu’une séquence d’octets n’a pas pu être décodée. Dans .NET Framework, les DecoderReplacementFallback classes et DecoderReplacementFallbackBuffer les classes fournissent une implémentation de mémoire tampon de secours de remplacement publique. Le constructeur de la DecoderReplacementFallback classe vous permet de définir la chaîne de remplacement.
Exception. L’implémentation DecoderFallbackBuffer lève une exception, qui indique qu’une séquence d’octets ne peut pas être décodée et met fin à l’opération de décodage. Dans ce cas, le gestionnaire de secours doit fournir une DecoderFallbackBuffer implémentation, bien qu’il ne retourne pas de chaîne au décodeur. Dans .NET Framework, les DecoderExceptionFallback classes et DecoderExceptionFallbackBuffer les classes fournissent une implémentation de secours d’exception publique qui lève une DecoderFallbackException séquence d’octets lorsqu’une séquence d’octets ne peut pas être décodée.
La mémoire tampon d’une DecoderFallbackBuffer implémentation représente la chaîne entière à retourner au décodeur en réponse à un secours de décodeur. 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 au décodeur et le nombre de caractères restants à retourner. Étant donné qu’il DecoderFallbackBuffer s’agit d’une classe abstraite, il nécessite des classes dérivées pour implémenter au minimum les membres suivants :
Méthode Fallback , appelée par le décodeur lorsqu’elle ne peut pas décoder une séquence d’octets. Le décodeur transmet deux informations à l’implémentation de la mémoire tampon de secours : un tableau contenant les octets qui n’ont pas pu être décodés et l’index du premier octet dans le tableau d’octets d’entrée. Dans un gestionnaire d’exceptions de secours de décodeur, l’exception est levée dans cette méthode. Sinon, la méthode retourne
truesi elle fournit une secours oufalsesi elle ne le fait pas.Méthode GetNextChar appelée à plusieurs reprises par le décodeur 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 de secours d’exception 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 au décodeur. Un gestionnaire de secours d’exception retourne toujours zéro.
Constructeurs
| Nom | Description |
|---|---|
| DecoderFallbackBuffer() |
Initialise une nouvelle instance de la classe DecoderFallbackBuffer. |
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 DecoderFallbackBuffer 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(Byte[], Int32) |
En cas de substitution dans une classe dérivée, prépare la mémoire tampon de secours pour gérer la séquence d’octets d’entrée spécifiée. |
| 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) |