Encoding.RegisterProvider(EncodingProvider) メソッド

定義

エンコーディング プロバイダーを登録します。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);
static member RegisterProvider : System.Text.EncodingProvider -> unit
Public Shared Sub RegisterProvider (provider As EncodingProvider)

パラメーター

provider
EncodingProvider

追加の文字エンコーディングへのアクセスを提供する EncodingProvider のサブクラス。A subclass of EncodingProvider that provides access to additional character encodings.

属性

例外

providernull です。provider is null.

注釈

RegisterProvider メソッドを使用すると、他の方法ではサポートされないプラットフォームで文字エンコーディングを使用できるようにする EncodingProvider から派生したクラスを登録できます。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. エンコードプロバイダーが登録されると、サポートされているエンコーディングは、任意の Encoding.GetEncoding オーバーロードを呼び出すことによって取得できます。Once the encoding provider is registered, the encodings that it supports can be retrieved by calling any Encoding.GetEncoding overload. 複数のエンコードプロバイダーがある場合、Encoding.GetEncoding メソッドは、最後に登録されたもので始まる各プロバイダーから、指定されたエンコーディングを取得しようとします。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.

RegisterProvider メソッドを使用してエンコーディングプロバイダーを登録すると、0の引数が渡されたときに、 encoding.getencoding (int32)メソッドと「encodingprovider」 (int32, EncoderFallback, DecoderFallback)メソッドの動作も変更されます。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:

  • 登録されているプロバイダーが CodePagesEncodingProviderの場合、メソッドは、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.

  • カスタムエンコーディングプロバイダーは、これらの GetEncoding メソッドオーバーロードのいずれかに 0の引数が渡されたときに返すエンコーディングを選択できます。A custom encoding provider can choose which encoding to return when either of these GetEncoding method overloads is passed an argument of 0. また、EncodingProvider.GetEncoding メソッドが nullを返すことによって、エンコーディングを返さないように選択することもできます。The provider can also choose to not return an encoding by having the EncodingProvider.GetEncoding method return null.

.NET Framework 4.6 以降、.NET Framework には、完全な .NET Framework に存在するがユニバーサル Windows プラットフォームでは使用できないエンコーディングを使用できるようにする1つのエンコードプロバイダー (CodePagesEncodingProvider) が含まれています。Starting with the .NET Framework 4.6, the .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. 既定では、ユニバーサル Windows プラットフォームは Unicode エンコーディング、ASCII、およびコードページ28591のみをサポートしています。By default, the Universal Windows Platform only supports the Unicode encodings, ASCII, and code page 28591.

RegisterProvider メソッドの複数の呼び出しで同じエンコーディングプロバイダーが使用されている場合、最初のメソッド呼び出しのみがプロバイダーを登録します。If the same encoding provider is used in multiple calls to the RegisterProvider method, only the first method call registers the provider. 後続の呼び出しは無視されます。Subsequent calls are ignored.

同じエンコーディングを処理する複数のプロバイダーを登録するために RegisterProvider メソッドが呼び出されると、最後に登録されたプロバイダーが、すべてのエンコードおよびデコード操作に使用されます。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. 以前に登録されたプロバイダーは無視されます。Any previously registered providers are ignored.

適用対象

こちらもご覧ください