Encoding.RegisterProvider(EncodingProvider) Metode
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.
Mendaftarkan penyedia pengodean.
public:
static void RegisterProvider(System::Text::EncodingProvider ^ provider);
[System.Security.SecurityCritical]
public static void RegisterProvider(System.Text.EncodingProvider provider);
public static void RegisterProvider(System.Text.EncodingProvider provider);
[<System.Security.SecurityCritical>]
static member RegisterProvider : System.Text.EncodingProvider -> unit
static member RegisterProvider : System.Text.EncodingProvider -> unit
Public Shared Sub RegisterProvider (provider As EncodingProvider)
Parameter
- provider
- EncodingProvider
Subkelas EncodingProvider yang menyediakan akses ke pengodean karakter tambahan.
- Atribut
Pengecualian
provider adalah null.
Keterangan
Metode ini RegisterProvider memungkinkan Anda untuk mendaftarkan kelas yang berasal dari EncodingProvider yang membuat pengodean karakter tersedia di platform yang tidak mendukungnya. Setelah penyedia pengodean terdaftar, pengodean yang didukungnya dapat diambil dengan memanggil Encoding.GetEncoding kelebihan beban. Jika ada beberapa penyedia pengodean, Encoding.GetEncoding metode ini mencoba mengambil pengodean tertentu dari setiap penyedia yang dimulai dengan yang terakhir didaftarkan.
Mendaftarkan penyedia pengodean dengan menggunakan RegisterProvider metode ini juga memengaruhi perilaku GetEncoding(Int32) ketika melewati argumen .0 Ini sangat penting dalam .NET Core dan versi yang lebih baru di mana perilaku default untuk GetEncoding(Int32) dengan codepage 0 adalah mengembalikan UTF-8:
Jika penyedia terdaftar adalah CodePagesEncodingProvider:
- Pada Windows, GetEncoding(Int32) dengan
codepage0 mengembalikan pengodean yang cocok dengan halaman kode aktif sistem (sama dengan perilaku .NET Framework). - Pada platform non-Windows, platform masih mengembalikan UTF-8.
- Pada Windows, GetEncoding(Int32) dengan
Jika penyedia pengodean kustom terdaftar: Penyedia dapat memilih pengodean mana yang akan dikembalikan ketika GetEncoding(Int32) diteruskan argumen .
0Penyedia juga dapat memilih untuk tidak menangani kasus ini dengan mengembalikannulldari metodenya EncodingProvider.GetEncoding , dalam hal ini perilaku UTF-8 default digunakan.
Jika beberapa penyedia terdaftar, GetEncoding(Int32) upaya untuk mengambil pengodean dari penyedia yang paling baru terdaftar terlebih dahulu.
Dimulai dengan .NET Framework 4.6, .NET Framework mencakup satu penyedia pengodean, CodePagesEncodingProvider, yang membuat pengodean tersedia yang ada dalam kerangka kerja .NET lengkap tetapi tidak tersedia di Platform Windows Universal. Secara default, Platform Windows Universal hanya mendukung pengodean Unicode, ASCII, dan halaman kode 28591.
Jika penyedia pengodean yang sama digunakan dalam beberapa panggilan ke RegisterProvider metode , hanya panggilan metode pertama yang mendaftarkan penyedia. Panggilan berikutnya diabaikan.
Jika metode dipanggil RegisterProvider untuk mendaftarkan beberapa penyedia yang menangani pengodean yang sama, penyedia terdaftar terakhir adalah yang digunakan untuk semua operasi pengodean dan dekode. Setiap penyedia yang terdaftar sebelumnya diabaikan.