Encoding.RegisterProvider(EncodingProvider) Metoda

Definicja

Rejestruje dostawcę kodowania.

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)

Parametry

provider
EncodingProvider

Podklasa EncodingProvider , która zapewnia dostęp do dodatkowych kodowań znaków.

Atrybuty

Wyjątki

provider to null.

Uwagi

Metoda umożliwia zarejestrowanie klasy pochodzącej z klasy , która udostępnia kodowanie znaków na platformie, która w przeciwnym razie RegisterProvider EncodingProvider ich nie obsługuje. Po zarejestrowaniu dostawcy kodowania kodowanie, które obsługuje, może zostać pobrane przez wywołanie dowolnego Encoding.GetEncoding przeciążenia. Jeśli istnieje wielu dostawców kodowania, metoda próbuje pobrać określone kodowanie od każdego dostawcy, począwszy od ostatnio Encoding.GetEncoding zarejestrowanego dostawcy.

Zarejestrowanie dostawcy kodowania przy użyciu metody modyfikuje również zachowanie metod RegisterProvider Encoding.GetEncoding(Int32) i EncodingProvider.GetEncoding(Int32, EncoderFallback, DecoderFallback) po przekazyniu argumentu 0 :

  • Jeśli zarejestrowanym dostawcą jest , metoda zwraca kodowanie, które odpowiada aktywnej stronie kodowej systemu podczas uruchamiania w Windows CodePagesEncodingProvider operacyjnym.

  • Niestandardowy dostawca kodowania może wybrać kodowanie, które ma zostać zwrócone, gdy któreś z tych przeciążeń metody zostanie GetEncoding przekazane argumentem 0 . Dostawca może również zdecydować, że kodowanie nie zostanie zwrócone przez EncodingProvider.GetEncoding zwrócenie metody null .

Począwszy od wersji .NET Framework 4.6, program .NET Framework zawiera jednego dostawcę kodowania, , który udostępnia kodowanie, które są dostępne w pełnej wersji .NET Framework ale nie są dostępne na platformie CodePagesEncodingProvider Windows. Domyślnie platforma universal Windows obsługuje tylko kodowania Unicode, ASCII i stronę kodową 28591.

Jeśli ten sam dostawca kodowania jest używany w wielu wywołaniach metody , tylko pierwsze wywołanie metody RegisterProvider rejestruje dostawcę. Kolejne wywołania są ignorowane.

Jeśli metoda jest wywoływana w celu zarejestrowania wielu dostawców, którzy obsługują to samo kodowanie, ostatni zarejestrowany dostawca jest używany do wszystkich operacji kodowania i RegisterProvider dekodowania. Wszystkich wcześniej zarejestrowanych dostawców są ignorowane.

Dotyczy

Zobacz też