Encoding.RegisterProvider(EncodingProvider) メソッド

定義

エンコーディング プロバイダーを登録します。

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)

パラメーター

provider
EncodingProvider

追加の文字エンコーディングへのアクセスを提供する EncodingProvider のサブクラス。

属性

例外

providernullです。

注釈

RegisterProviderメソッドを使用すると、から派生したクラスを登録して、それ以外の方法で EncodingProvider サポートされないプラットフォームで文字エンコーディングを使用できるようにすることができます。 エンコーディングプロバイダーが登録されると、それがサポートするエンコーディングは、任意のオーバーロードを呼び出すことによって取得でき Encoding.GetEncoding ます。 複数のエンコードプロバイダーがある場合、 Encoding.GetEncoding メソッドは、最後に登録されたもので始まる各プロバイダーから、指定されたエンコーディングを取得しようとします。

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

  • 登録されているプロバイダーがの場合 CodePagesEncodingProvider 、メソッドは、Windows オペレーティングシステムで実行されている場合に、システムのアクティブなコードページと一致するエンコーディングを返します。

  • カスタムエンコーディングプロバイダーは、これらのメソッドオーバーロードのいずれかにの引数が渡されたときに返すエンコーディングを選択でき GetEncoding 0 ます。 プロバイダーは、メソッドがを返すことによって、エンコーディングを返さないように選択することもでき EncodingProvider.GetEncoding null ます。

.NET Framework 4.6 以降、.NET Framework には、 CodePagesEncodingProvider 完全な .NET Framework に存在するものの、ユニバーサル Windows プラットフォームでは使用できないエンコーディングプロバイダーが1つ含まれています。 既定では、ユニバーサル Windows プラットフォームは Unicode エンコーディング、ASCII、およびコードページ28591のみをサポートしています。

同じエンコーディングプロバイダーがメソッドの複数の呼び出しで使用されている場合 RegisterProvider 、最初のメソッド呼び出しのみがプロバイダーを登録します。 後続の呼び出しは無視されます。

RegisterProvider同じエンコーディングを処理する複数のプロバイダーを登録するためにメソッドが呼び出された場合、最後に登録されたプロバイダーは、すべてのエンコードおよびデコード操作に使用されるです。 以前に登録されたプロバイダーは無視されます。

適用対象

こちらもご覧ください