Encoding.RegisterProvider(EncodingProvider) Metoda

Definice

Zaregistruje poskytovatele kódování.Registers an encoding provider.

public:
 static void RegisterProvider(System::Text::EncodingProvider ^ provider);
public static void RegisterProvider (System.Text.EncodingProvider provider);
[System.Security.SecurityCritical]
public static void RegisterProvider (System.Text.EncodingProvider provider);
static member RegisterProvider : System.Text.EncodingProvider -> unit
[<System.Security.SecurityCritical>]
static member RegisterProvider : System.Text.EncodingProvider -> unit
Public Shared Sub RegisterProvider (provider As EncodingProvider)

Parametry

provider
EncodingProvider

Podtřída EncodingProvider , která poskytuje přístup k dodatečným kódováním znaků.A subclass of EncodingProvider that provides access to additional character encodings.

Atributy

Výjimky

provider je null.provider is null.

Poznámky

RegisterProviderMetoda umožňuje zaregistrovat třídu odvozenou z EncodingProvider , která umožňuje kódování znaků, které je k dispozici na platformě, která je jinak nepodporuje.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. Jakmile je poskytovatel kódování zaregistrován, kódování, které podporuje, lze načíst voláním jakéhokoliv Encoding.GetEncoding přetížení.Once the encoding provider is registered, the encodings that it supports can be retrieved by calling any Encoding.GetEncoding overload. Pokud existuje více zprostředkovatelů kódování, Encoding.GetEncoding metoda se pokusí načíst zadané kódování od každého poskytovatele počínaje poslední registrací.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.

Registrace zprostředkovatele kódování pomocí RegisterProvider metody také upraví chování metod Encoding. GetEncoding (Int32) a EncodingProvider. GetEncoding (Int32, EncoderFallback, DecoderFallback) při předání argumentu 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:

  • Pokud je registrovaný poskytovatel CodePagesEncodingProvider , metoda vrátí kódování, které se shoduje se systémovou aktivní znakovou stránkou při spuštění v operačním systému 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.

  • Vlastní zprostředkovatel kódování může zvolit, které kódování se má vrátit, pokud se některá z těchto GetEncoding metod přetížení předává 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. Poskytovatel může také zvolit, že nevrátí kódování, pomocí EncodingProvider.GetEncoding metody vrátí null .The provider can also choose to not return an encoding by having the EncodingProvider.GetEncoding method return null.

Počínaje .NET Framework 4,6 .NET Framework zahrnuje jednoho zprostředkovatele kódování, CodePagesEncodingProvider který zpřístupňuje kódování, která jsou k dispozici v plném .NET Framework, ale nejsou k dispozici v Univerzální platforma 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. Ve výchozím nastavení Univerzální platforma Windows podporuje pouze kódování Unicode, znakovou stránku 28591.By default, the Universal Windows Platform only supports the Unicode encodings, ASCII, and code page 28591.

Pokud je stejný zprostředkovatel kódování použit v několika voláních RegisterProvider metody, pouze první volání metody zaregistruje poskytovatele.If the same encoding provider is used in multiple calls to the RegisterProvider method, only the first method call registers the provider. Následná volání jsou ignorována.Subsequent calls are ignored.

Pokud RegisterProvider je metoda volána k registraci více zprostředkovatelů, které zpracovávají stejné kódování, je poslední registrovaný poskytovatel použit pro všechny operace kódování a dekódování.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. Všichni dřív registrovaní zprostředkovatelé se ignorují.Any previously registered providers are ignored.

Platí pro

Viz také