Encoding.RegisterProvider(EncodingProvider) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bir kodlama sağlayıcısı kaydeder.
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)
Parametreler
- provider
- EncodingProvider
Ek karakter kodlamalarına erişim sağlayan alt sınıfı EncodingProvider .
- Öznitelikler
Özel durumlar
provider, null'e eşittir.
Açıklamalar
yöntemi, RegisterProvider karakter kodlamalarını başka türlü desteklemeyen bir platformda kullanılabilir hale getiren sınıfından türetilmiş EncodingProvider bir sınıfı kaydetmenizi sağlar. Kodlama sağlayıcısı kaydedildikten sonra, desteklediği kodlamalar herhangi bir Encoding.GetEncoding aşırı yükleme çağrılarak alınabilir. Birden çok kodlama sağlayıcısı varsa yöntemi, Encoding.GetEncoding en son kaydedilen sağlayıcıdan başlayarak her sağlayıcıdan belirtilen kodlamayı almaya çalışır.
yöntemini kullanarak bir kodlama sağlayıcısının RegisterProvider kaydedilmesi, bağımsız değişkeni GetEncoding(Int32)geçirildiğinde davranışını 0 da etkiler. Bu, GetEncoding(Int32) 0 ile codepage için varsayılan davranışın UTF-8 döndürmek olduğu .NET Core ve sonraki sürümlerde özellikle önemlidir:
Kayıtlı sağlayıcı :CodePagesEncodingProvider
-
Windows'da GetEncoding(Int32) 0 ile
codepage, sistemin etkin kod sayfasıyla eşleşen kodlamayı döndürür (.NET Framework davranışıyla aynıdır). - non-Windows platformlarında yine UTF-8 döndürür.
-
Windows'da GetEncoding(Int32) 0 ile
Özel bir kodlama sağlayıcısı kayıtlıysa: Sağlayıcı, bağımsız değişkeni geçirildiğinde GetEncoding(Int32) döndürülecek kodlamayı
0seçebilir. Sağlayıcı, yöntemindennulldöndürerek EncodingProvider.GetEncoding bu durumu işlememeyi de seçebilir ve bu durumda varsayılan UTF-8 davranışı kullanılır.
Birden çok sağlayıcı kayıtlıysa, GetEncoding(Int32) önce en son kaydedilen sağlayıcıdan kodlamayı almaya çalışır.
.NET Framework 4.6'dan başlayarak .NET Framework, tam .NET Framework'te bulunan ancak Evrensel Windows Platformu kullanılabilir olmayan kodlamaları kullanıma sunan CodePagesEncodingProvider bir kodlama sağlayıcısı içerir. Varsayılan olarak, Evrensel Windows Platformu yalnızca Unicode kodlamalarını, ASCII'yi ve 28591 kod sayfasını destekler.
Aynı kodlama sağlayıcısı yöntemine RegisterProvider yapılan birden çok çağrıda kullanılıyorsa, sağlayıcıyı yalnızca ilk yöntem çağrısı kaydeder. Sonraki çağrılar yoksayılır.
Aynı kodlamayı RegisterProvider işleyen birden çok sağlayıcıyı kaydetmek için yöntemi çağrılırsa, son kaydedilen sağlayıcı tüm kodlama ve kod çözme işlemleri için kullanılır. Önceden kaydedilmiş sağlayıcılar yoksayılır.