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 метод вызывается для регистрации нескольких поставщиков, обрабатывающих одну и ту же кодировку, последний зарегистрированный поставщик используется для всех операций кодирования и декодирования. Все ранее зарегистрированные поставщики игнорируются.