EncoderFallbackBuffer Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menyediakan buffer yang memungkinkan handler fallback mengembalikan string alternatif ke encoder ketika tidak dapat mengodekan karakter input.
public ref class EncoderFallbackBuffer abstract
public abstract class EncoderFallbackBuffer
type EncoderFallbackBuffer = class
Public MustInherit Class EncoderFallbackBuffer
- Warisan
-
EncoderFallbackBuffer
- Turunan
Keterangan
Pengodean mendefinisikan pemetaan antara karakter Unicode dan urutan byte yang dikodekan. Operasi pengodean, yang mengonversi karakter input ke urutan byte output, gagal jika tidak ada pemetaan yang didefinisikan untuk karakter tertentu.
.NET Framework menyediakan mekanisme penanganan kegagalan, yang disebut fallback, jika konversi tidak dapat dilakukan. Semua penangan fallback encoder harus menerapkan hal berikut:
Fallback encoder, yang diwakili oleh kelas yang berasal dari EncoderFallback kelas .
Buffer fallback encoder, yang diwakili oleh jenis yang berasal dari EncoderFallbackBuffer kelas yang dapat mengembalikan string ke operasi konversi.
Fallback dapat menggunakan tiga strategi untuk menangani kegagalan konversi:
Pemetaan yang paling sesuai. Buffer fallback encoder dapat mengembalikan string yang mewakili perkiraan dekat dengan karakter input. .NET Framework tidak menyediakan implementasi yang paling sesuai untuk EncoderFallbackBuffer publik.
Pengganti. Buffer fallback encoder dapat mengembalikan string, seperti tanda tanya ("?"), yang menunjukkan bahwa karakter tidak dapat dikodekan. Dalam .NET Framework, EncoderReplacementFallback kelas dan EncoderReplacementFallbackBuffer menyediakan implementasi buffer fallback pengganti publik. Konstruktor EncoderReplacementFallback kelas memungkinkan Anda menentukan string pengganti.
Pengecualian. Implementasi EncoderFallbackBuffer melemparkan pengecualian, yang menunjukkan bahwa karakter tidak dapat dikodekan, dan mengakhiri operasi pengodean. Dalam hal ini, penangan fallback harus memberikan EncoderFallbackBuffer implementasi, meskipun tidak mengembalikan string ke encoder. Dalam .NET Framework, EncoderExceptionFallback kelas dan EncoderExceptionFallbackBuffer menyediakan implementasi fallback pengecualian publik yang melemparkan EncoderFallbackException ketika karakter tidak dapat dikodekan.
Buffer dalam EncoderFallbackBuffer implementasi mewakili seluruh string yang akan dikembalikan ke encoder sebagai respons terhadap fallback encoder. Umumnya, implementasi juga mencakup informasi status, seperti indeks karakter berikutnya untuk kembali ke encoder dan jumlah karakter yang tersisa yang akan dikembalikan. Karena EncoderFallbackBuffer merupakan kelas abstrak, diperlukan kelas turunan untuk mengimplementasikan anggota berikut minimal:
Metode kelebihan Fallback beban, yang dipanggil oleh encoder ketika tidak dapat mengodekan karakter. Encoder meneruskan dua informasi ke implementasi buffer fallback: pasangan karakter atau pengganti yang tidak dapat dikodekan dan indeks karakter dalam input. Dalam handler pengecualian fallback encoder, pengecualian dilemparkan dalam metode ini. Jika tidak, metode mengembalikan
truejika menyediakan fallback, ataufalsejika tidak.Metode GetNextChar , yang dipanggil berulang kali oleh encoder jika Fallback metode mengembalikan
true. Dalam panggilan berturut-turut, handler harus mengembalikan setiap karakter dalam buffer-nya. Ketika telah mengembalikan semua karakter, itu harus mengembalikan U+0000. Handler pengecualian selalu mengembalikan U+0000.Metode MovePrevious , yang mencoba memindahkan penunjuk ke posisi sebelumnya di buffer dan menunjukkan apakah pemindahan berhasil. Handler pengecualian selalu mengembalikan
false.Properti Remaining , yang menunjukkan jumlah karakter yang tersisa yang akan dikembalikan ke encoder. Handler fallback pengecualian selalu mengembalikan nol.
Konstruktor
| Nama | Deskripsi |
|---|---|
| EncoderFallbackBuffer() |
Menginisialisasi instans baru dari kelas EncoderFallbackBuffer. |
Properti
| Nama | Deskripsi |
|---|---|
| Remaining |
Ketika ditimpa dalam kelas turunan, mendapatkan jumlah karakter dalam objek saat ini EncoderFallbackBuffer yang tetap harus diproses. |
Metode
| Nama | Deskripsi |
|---|---|
| Equals(Object) |
Menentukan apakah objek yang ditentukan sama dengan objek saat ini. (Diperoleh dari Object) |
| Fallback(Char, Char, Int32) |
Ketika ditimpa di kelas turunan, menyiapkan buffer fallback untuk menangani pasangan pengganti yang ditentukan. |
| Fallback(Char, Int32) |
Ketika ditimpa di kelas turunan, menyiapkan buffer fallback untuk menangani karakter input yang ditentukan. |
| GetHashCode() |
Berfungsi sebagai fungsi hash default. (Diperoleh dari Object) |
| GetNextChar() |
Ketika ditimpa di kelas turunan, mengambil karakter berikutnya dalam buffer fallback. |
| GetType() |
Mendapatkan Type instans saat ini. (Diperoleh dari Object) |
| MemberwiseClone() |
Membuat salinan dangkal dari Objectsaat ini. (Diperoleh dari Object) |
| MovePrevious() |
Ketika ditimpa di kelas turunan, menyebabkan panggilan berikutnya ke GetNextChar() metode untuk mengakses posisi karakter buffer data yang sebelum posisi karakter saat ini. |
| Reset() |
Menginisialisasi semua data dan informasi status yang berkaitan dengan buffer fallback ini. |
| ToString() |
Mengembalikan string yang mewakili objek saat ini. (Diperoleh dari Object) |