Encoding.RegisterProvider(EncodingProvider) Metoda

Definicja

Rejestruje dostawcę kodowania.Registers an encoding provider.

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.A subclass of EncodingProvider that provides access to additional character encodings.

Atrybuty

Wyjątki

provider to null.provider is null.

Uwagi

RegisterProviderMetoda umożliwia zarejestrowanie klasy pochodzącej od EncodingProvider , co sprawia, że kodowanie znaków jest dostępne na platformie, która nie obsługuje ich w inny sposób.The RegisterProvider method allows you to register a class derived from EncodingProvider that makes character encodings available on a platform that does not otherwise support them. Po zarejestrowaniu dostawcy kodowania można pobrać obsługiwane przez siebie kodowanie, wywołując dowolne Encoding.GetEncoding przeciążenia.Once the encoding provider is registered, the encodings that it supports can be retrieved by calling any Encoding.GetEncoding overload. Jeśli istnieje wielu dostawców kodowania, Encoding.GetEncoding Metoda próbuje pobrać określone kodowanie z każdego dostawcy, rozpoczynając od ostatniego zarejestrowanego.If there are multiple encoding providers, the Encoding.GetEncoding method attempts to retrieve a specified encoding from each provider starting with the one most recently registered.

Zarejestrowanie dostawcy kodowania przy użyciu RegisterProvider metody również modyfikuje zachowanie metody Encoding. GetEncoding (Int32) i EncodingProvider. GetEncoding (Int32, EncoderFallback, DecoderFallback) , gdy przeszedł argument 0 :Registering an encoding provider by using the RegisterProvider method also modifies the behavior of the Encoding.GetEncoding(Int32) and EncodingProvider.GetEncoding(Int32, EncoderFallback, DecoderFallback) methods when passed an argument of 0:

  • W przypadku zarejestrowanego dostawcy CodePagesEncodingProvider Metoda zwraca kodowanie zgodne ze stroną aktywnego kodu systemowego w przypadku uruchamiania w systemie operacyjnym Windows.If the registered provider is the CodePagesEncodingProvider, the method returns the encoding that matches the system active code page when running on the Windows operating system.

  • Niestandardowy dostawca kodowania może wybrać kodowanie, które ma zostać zwrócone, gdy jedno z tych GetEncoding przeciążeń metod przeszedł do argumentu 0 .A custom encoding provider can choose which encoding to return when either of these GetEncoding method overloads is passed an argument of 0. Dostawca może również zrezygnować z kodowania, zwracając EncodingProvider.GetEncoding metodę null .The provider can also choose to not return an encoding by having the EncodingProvider.GetEncoding method return null.

Począwszy od .NET Framework 4,6, .NET Framework obejmuje jednego dostawcę kodowania, CodePagesEncodingProvider który sprawia, że dostępne są kodowania, które znajdują się w pełnym .NET Framework ale nie są dostępne w platforma uniwersalna systemu Windows.Starting with .NET Framework 4.6, .NET Framework includes one encoding provider, CodePagesEncodingProvider, that makes the encodings available that are present in the full .NET Framework but are not available in the Universal Windows Platform. Domyślnie platforma uniwersalna systemu Windows obsługuje tylko kodowania Unicode, ASCII i stronę kodową 28591.By default, the Universal Windows Platform only supports the Unicode encodings, ASCII, and code page 28591.

Jeśli ten sam dostawca kodowania jest używany w wielu wywołaniach RegisterProvider metody, tylko pierwsze wywołanie metody rejestruje dostawcę.If the same encoding provider is used in multiple calls to the RegisterProvider method, only the first method call registers the provider. Kolejne wywołania są ignorowane.Subsequent calls are ignored.

Jeśli RegisterProvider Metoda jest wywoływana w celu zarejestrowania wielu dostawców obsługujących to samo kodowanie, Ostatni zarejestrowany dostawca jest używany dla wszystkich operacji kodowania i dekodowania.If the RegisterProvider method is called to register multiple providers that handle the same encoding, the last registered provider is the used for all encoding and decoding operations. Wszyscy wcześniej zarejestrowani dostawcy są pomijani.Any previously registered providers are ignored.

Dotyczy

Zobacz też