EncoderFallbackBuffer Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Olyan puffert biztosít, amely lehetővé teszi, hogy a tartalék kezelő egy másik sztringet adjon vissza egy kódolónak, ha nem tud bemeneti karaktert kódolni.
public ref class EncoderFallbackBuffer abstract
public abstract class EncoderFallbackBuffer
type EncoderFallbackBuffer = class
Public MustInherit Class EncoderFallbackBuffer
- Öröklődés
-
EncoderFallbackBuffer
- Származtatott
Megjegyzések
A kódolás a Unicode-karakterek és a bájtok kódolt sorozata közötti leképezést határozza meg. Egy kódolási művelet, amely egy bemeneti karaktert kimeneti bájtsorsá alakít át, meghiúsul, ha egy adott karakterhez nincs leképezés definiálva.
A .NET-keretrendszer egy tartaléknak nevezett hibakezelési mechanizmust biztosít, ha az átalakítás nem hajtható végre. Minden kódoló tartalék kezelőjének a következőket kell implementálnia:
Kódoló tartalék, amelyet az osztályból EncoderFallback származtatott osztály jelöl.
Kódoló tartalék puffere, amelyet az osztályból EncoderFallbackBuffer származtatott típus jelöl, amely visszaadhat egy sztringet a konvertálási művelethez.
A tartalékok három stratégiát használhatnak a konverziós hibák kezelésére:
Legjobban illeszkedő leképezés. A kódoló tartalék puffere visszaadhat egy sztringet, amely a bemeneti karakterhez közeli közelítést jelöl. A .NET keretrendszer nem biztosít nyilvánosan legjobban illeszkedő EncoderFallbackBuffer implementációt.
Helyettesítés. A kódoló tartalék puffere visszaadhat egy sztringet, például kérdőjelet ("?"), amely azt jelzi, hogy egy karakter nem kódolható. A .NET-keretrendszerben a EncoderReplacementFallback és EncoderReplacementFallbackBuffer osztályok nyilvános tartalékpuffer-implementációt biztosítanak. Az osztály konstruktorával EncoderReplacementFallback definiálhatja a helyettesítő sztringet.
Kivétel. Az EncoderFallbackBuffer implementáció kivételt jelez, amely azt jelzi, hogy egy karakter nem kódolható, és leállítja a kódolási műveletet. Ebben az esetben a tartalék kezelőnek implementációt EncoderFallbackBuffer kell biztosítania, bár nem ad vissza sztringet a kódolónak. A .NET-keretrendszerben a EncoderExceptionFallback és EncoderExceptionFallbackBuffer osztályok nyilvános kivétel-tartalék implementációt biztosítanak, amely EncoderFallbackException, ha egy karakter nem kódolható.
A implementáció puffere az egész sztringet EncoderFallbackBuffer jelöli, amelyet vissza kell adni a kódolónak egy kódoló tartalékra válaszul. A implementációk általában az állapotinformációkat is tartalmazzák, például a következő karakter indexét a kódolóhoz való visszatéréshez, valamint a visszaadandó karakterek számát. Mivel EncoderFallbackBuffer ez egy absztrakt osztály, a származtatott osztályoknak legalább a következő tagok implementálásához van szükség:
A túlterhelt Fallback metódus, amelyet a kódoló hív meg, ha nem tud karaktert kódolni. A kódoló két információt ad át a tartalék puffer implementációjának: a nem kódolható karakter vagy helyettesítő pár, valamint a bemeneti karakter indexe. A kódoló tartalék kivételkezelőjében a kivétel ebben a metódusban jelenik meg. Ellenkező esetben a metódus akkor tér vissza
true, ha tartalékot biztosít, vagyfalseha nem.A GetNextChar metódust, amelyet a kódoló ismételten hív meg, ha a Fallback metódus visszatér
true. Egymást követő hívások esetén a kezelőnek minden karaktert vissza kell adnia a pufferében. Ha az összes karaktert visszaadta, az U+0000 értéket kell visszaadnia. A kivételkezelő mindig U+0000 értéket ad vissza.A MovePrevious metódus, amely megpróbálja áthelyezni az egérmutatót a puffer előző helyére, és jelzi, hogy az áthelyezés sikeres volt-e. A kivételkezelő mindig ad vissza
false.A Remaining tulajdonság, amely azt jelzi, hogy hány karaktert kell visszaadni a kódolónak. A kivétel tartalék kezelője mindig nullát ad vissza.
Konstruktorok
| Name | Description |
|---|---|
| EncoderFallbackBuffer() |
Inicializálja a EncoderFallbackBuffer osztály új példányát. |
Tulajdonságok
| Name | Description |
|---|---|
| Remaining |
Ha egy származtatott osztályban felül van bírálva, az aktuális EncoderFallbackBuffer objektumban a feldolgozandó karakterek számát kapja meg. |
Metódusok
| Name | Description |
|---|---|
| Equals(Object) |
Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal. (Öröklődés forrása Object) |
| Fallback(Char, Char, Int32) |
Ha felül van bírálva egy származtatott osztályban, előkészíti a tartalék puffert a megadott helyettesítő pár kezelésére. |
| Fallback(Char, Int32) |
Származtatott osztály felülírásakor előkészíti a tartalék puffert a megadott bemeneti karakter kezelésére. |
| GetHashCode() |
Ez az alapértelmezett kivonatoló függvény. (Öröklődés forrása Object) |
| GetNextChar() |
Ha egy származtatott osztályban felül van bírálva, lekéri a tartalék puffer következő karakterét. |
| GetType() |
Lekéri az Type aktuális példányt. (Öröklődés forrása Object) |
| MemberwiseClone() |
Az aktuális Objectpéldány sekély másolatát hozza létre. (Öröklődés forrása Object) |
| MovePrevious() |
Ha egy származtatott osztályban felül van bírálva, a metódus következő hívása GetNextChar() az aktuális karakterpozíció előtti adatpuffer karakterpozíciójának elérését eredményezi. |
| Reset() |
Inicializálja a tartalék pufferhez kapcsolódó összes adatot és állapotinformációt. |
| ToString() |
Az aktuális objektumot jelképező sztringet ad vissza. (Öröklődés forrása Object) |