Encoding.RegisterProvider(EncodingProvider) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
エンコーディング プロバイダーを登録します。
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 のサブクラス。
- 属性
例外
provider
が null
です。
注釈
RegisterProviderメソッドを使用すると、から派生したクラスを登録して、それ以外の方法で EncodingProvider サポートされないプラットフォームで文字エンコーディングを使用できるようにすることができます。 エンコーディングプロバイダーが登録されると、それがサポートするエンコーディングは、任意のオーバーロードを呼び出すことによって取得でき Encoding.GetEncoding ます。 複数のエンコードプロバイダーがある場合、 Encoding.GetEncoding メソッドは、最後に登録されたもので始まる各プロバイダーから、指定されたエンコーディングを取得しようとします。
メソッドを使用してエンコーディングプロバイダーを登録すると、 RegisterProvider の引数が渡されたときに、 Encoding.getencoding (int32)メソッドと「Encodingprovider」 (Int32, EncoderFallback, DecoderFallback)メソッドの動作も変更さ 0
れます。
登録されているプロバイダーがの場合 CodePagesEncodingProvider 、メソッドは、Windows オペレーティングシステムで実行されている場合に、システムのアクティブなコードページと一致するエンコーディングを返します。
カスタムエンコーディングプロバイダーは、これらのメソッドオーバーロードのいずれかにの引数が渡されたときに返すエンコーディングを選択でき GetEncoding
0
ます。 プロバイダーは、メソッドがを返すことによって、エンコーディングを返さないように選択することもでき EncodingProvider.GetEncodingnull
ます。
.NET Framework 4.6 以降、.NET Framework には、 CodePagesEncodingProvider 完全な .NET Framework に存在するものの、ユニバーサル Windows プラットフォームでは使用できないエンコーディングプロバイダーが1つ含まれています。 既定では、ユニバーサル Windows プラットフォームは Unicode エンコーディング、ASCII、およびコードページ28591のみをサポートしています。
同じエンコーディングプロバイダーがメソッドの複数の呼び出しで使用されている場合 RegisterProvider 、最初のメソッド呼び出しのみがプロバイダーを登録します。 後続の呼び出しは無視されます。
RegisterProvider同じエンコーディングを処理する複数のプロバイダーを登録するためにメソッドが呼び出された場合、最後に登録されたプロバイダーは、すべてのエンコードおよびデコード操作に使用されるです。 以前に登録されたプロバイダーは無視されます。