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, который предоставляет доступ к дополнительным кодировкам символов.
- Атрибуты
Исключения
provider имеет значение null.
Комментарии
RegisterProviderМетод позволяет зарегистрировать класс, производный от EncodingProvider , который делает кодировки символов доступными на платформе, которая не поддерживает их в других случаях. После регистрации поставщика кодировок можно извлечь поддерживаемые им кодировки, вызвав любую Encoding.GetEncoding перегрузку. При наличии нескольких поставщиков кодировок Encoding.GetEncoding метод пытается получить указанную кодировку от каждого поставщика, начиная с последней зарегистрированной.
Регистрация поставщика кодирования с помощью RegisterProvider метода также изменяет поведение методов Encoding. Encoding (Int32) и EncodingProvider. Encoding (Int32, EncoderFallback, DecoderFallback) при передаче аргумента 0 :
Если зарегистрированный поставщик — CodePagesEncodingProvider , метод возвращает кодировку, соответствующую системной активной кодовой странице при работе в операционной системе Windows.
Пользовательский поставщик кодировок может выбрать, какую кодировку следует возвращать, когда любой из этих GetEncoding перегрузок метода передается аргументом
0. Поставщик может также выбрать не возвращать кодировку, выполнив EncodingProvider.GetEncoding возврат методаnull.
Начиная с .NET Framework 4,6 .NET Framework включает один поставщик кодировок, CodePagesEncodingProvider который делает кодировки, присутствующие в полной .NET Framework, но недоступные в универсальная платформа Windows. По умолчанию универсальная платформа Windows поддерживает только кодировки Юникода, ASCII и кодовую страницу 28591.
Если один и тот же поставщик кодирования используется в нескольких вызовах RegisterProvider метода, поставщик регистрируется только в первом вызове метода. Последующие вызовы игнорируются.
Если RegisterProvider метод вызывается для регистрации нескольких поставщиков, обрабатывающих одну и ту же кодировку, последний зарегистрированный поставщик используется для всех операций кодирования и декодирования. Все ранее зарегистрированные поставщики игнорируются.