DecoderFallbackBuffer Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Tillhandahåller en buffert som gör att en reservhanterare kan returnera en alternativ sträng till en avkodare när den inte kan avkoda en indatabytesekvens.
public ref class DecoderFallbackBuffer abstract
public abstract class DecoderFallbackBuffer
type DecoderFallbackBuffer = class
Public MustInherit Class DecoderFallbackBuffer
- Arv
-
DecoderFallbackBuffer
- Härledda
Kommentarer
En kodning definierar en mappning mellan ett Unicode-tecken och en kodad sekvens med byte. En avkodningsåtgärd, som konverterar en indatabytesekvens till ett utdatatecken, misslyckas om ingen mappning har definierats för en viss bytesekvens.
.NET Framework tillhandahåller en mekanism för felhantering, som kallas återställning, om en konvertering inte kan utföras. Alla återställningshanterare för avkodare måste implementera följande:
En dekodaråterställning som representeras av en klass som härleds från DecoderFallback klassen.
En återställningsbuffert för avkodare, som representeras av en typ som härleds från DecoderFallbackBuffer klassen och som kan returnera en sträng till konverteringsåtgärden.
Återställningar kan använda tre strategier för att hantera konverteringsfel:
Mappning med bästa passform. Återställningsbufferten för avkodaren kan returnera en sträng som representerar en nära uppskattning av indatabytesekvensen. .NET Framework tillhandahåller inte en offentlig DecoderFallbackBuffer implementering.
Ersättning. Återställningsbufferten för avkodaren kan returnera en sträng, till exempel ett frågetecken ("?"), som anger att en bytesekvens inte kunde avkodas. I .NET Framework tillhandahåller klasserna DecoderReplacementFallback och DecoderReplacementFallbackBuffer en offentlig återställningsbuffertimplementering. Med konstruktorn för DecoderReplacementFallback klassen kan du definiera ersättningssträngen.
Undantag. Implementeringen DecoderFallbackBuffer utlöser ett undantag som indikerar att en bytesekvens inte kan avkodas och avslutar avkodningsåtgärden. I det här fallet måste reservhanteraren tillhandahålla en DecoderFallbackBuffer implementering, även om den inte returnerar en sträng till avkodaren. I .NET Framework tillhandahåller klasserna DecoderExceptionFallback och DecoderExceptionFallbackBuffer ett offentligt undantagsåterställningsimplementering som genererar en DecoderFallbackException när en bytesekvens inte kan avkodas.
Bufferten i en DecoderFallbackBuffer implementering representerar hela strängen som ska returneras till avkodaren som svar på en återställning av avkodaren. I allmänhet innehåller implementeringar även tillståndsinformation, till exempel indexet för nästa tecken för att återgå till avkodaren och antalet återstående tecken som ska returneras. Eftersom DecoderFallbackBuffer är en abstrakt klass krävs härledda klasser för att implementera följande medlemmar minst:
Metoden Fallback , som anropas av avkodaren när den inte kan avkoda en bytesekvens. Avkodaren skickar två informationsdelar till återställningsbuffertimplementeringen: en matris som innehåller byte som inte kunde avkodas och indexet för den första byte i indata-bytematrisen. I en undantagshanterare för avkodare genereras undantaget i den här metoden. Annars returnerar
truemetoden om den ger en återställning ellerfalseom den inte gör det.Metoden GetNextChar , som anropas upprepade gånger av avkodaren om Fallback metoden returnerar
true. I efterföljande anrop ska hanteraren returnera varje tecken i bufferten. När alla tecken returneras ska den returnera U+0000. En undantagsåterställningshanterare returnerar alltid U+0000.Metoden MovePrevious , som försöker flytta pekaren till den tidigare positionen i bufferten och anger om flytten lyckades. En undantagshanterare returnerar
falsealltid .Egenskapen Remaining , som anger antalet återstående tecken som ska returneras till avkodaren. En undantagsåterställningshanterare returnerar alltid noll.
Konstruktorer
| Name | Description |
|---|---|
| DecoderFallbackBuffer() |
Initierar en ny instans av DecoderFallbackBuffer klassen. |
Egenskaper
| Name | Description |
|---|---|
| Remaining |
När det åsidosätts i en härledd klass hämtar det antal tecken i det aktuella DecoderFallbackBuffer objektet som återstår att bearbeta. |
Metoder
| Name | Description |
|---|---|
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| Fallback(Byte[], Int32) |
När den åsidosättas i en härledd klass förbereder du återställningsbufferten för att hantera den angivna indatabytesekvensen. |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetNextChar() |
När du åsidosättas i en härledd klass hämtar nästa tecken i återställningsbufferten. |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| MovePrevious() |
När det åsidosätts i en härledd klass får nästa anrop till GetNextChar() metoden åtkomst till databuffertens teckenposition som är före den aktuella teckenpositionen. |
| Reset() |
Initierar all data- och tillståndsinformation som rör den här reservbufferten. |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |