AsnDecoder.ReadEnumeratedValue Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Перегрузки
ReadEnumeratedValue(ReadOnlySpan<Byte>, AsnEncodingRules, Type, Int32, Nullable<Asn1Tag>) |
Считывает перечислимое значение из |
ReadEnumeratedValue<TEnum>(ReadOnlySpan<Byte>, AsnEncodingRules, Int32, Nullable<Asn1Tag>) |
Считывает перечислимое значение из |
ReadEnumeratedValue(ReadOnlySpan<Byte>, AsnEncodingRules, Type, Int32, Nullable<Asn1Tag>)
- Исходный код:
- AsnDecoder.Enumerated.cs
- Исходный код:
- AsnDecoder.Enumerated.cs
- Исходный код:
- AsnDecoder.Enumerated.cs
Считывает перечислимое значение из source
с указанным тегом в соответствии с заданными правилами кодирования, преобразуя его в неперечислимое [FlagsAttribute], указанное в enumType
.
public static Enum ReadEnumeratedValue (ReadOnlySpan<byte> source, System.Formats.Asn1.AsnEncodingRules ruleSet, Type enumType, out int bytesConsumed, System.Formats.Asn1.Asn1Tag? expectedTag = default);
static member ReadEnumeratedValue : ReadOnlySpan<byte> * System.Formats.Asn1.AsnEncodingRules * Type * int * Nullable<System.Formats.Asn1.Asn1Tag> -> Enum
Public Shared Function ReadEnumeratedValue (source As ReadOnlySpan(Of Byte), ruleSet As AsnEncodingRules, enumType As Type, ByRef bytesConsumed As Integer, Optional expectedTag As Nullable(Of Asn1Tag) = Nothing) As Enum
Параметры
- source
- ReadOnlySpan<Byte>
Буфер, содержащий закодированные данные.
- ruleSet
- AsnEncodingRules
Ограничения кодирования, используемые при интерпретации данных.
- enumType
- Type
Объект Type представляющий тип назначения.
- bytesConsumed
- Int32
При возврате из этого метода — общее количество байтов для закодированного значения. Этот параметр обрабатывается как неинициализированный.
Тег, который необходимо проверить перед чтением, или null
для тега по умолчанию (Universal 10).
Возвращаемое значение
Перечислимое значение, преобразованное в enumType
.
Исключения
У следующего значения нет правильного тега.
-или-
Кодировка длины недопустима в соответствии с текущими правилами кодирования.
-или-
Содержимое недопустимо в соответствии с текущими правилами кодирования.
-или-
Закодированное значение слишком велико, чтобы поместиться в enumType
значение.
enumType
не является типом перечисления.
-или-
enumType
был объявлен с параметром FlagsAttribute.
-или-
enumType
.TagClass имеет значение Universal, но enumType
.TagValue не является правильным для метода .
enumType
имеет значение null
.
Комментарии
Этот метод не проверяет, определено ли возвращаемое значение в enumType
.
Применяется к
ReadEnumeratedValue<TEnum>(ReadOnlySpan<Byte>, AsnEncodingRules, Int32, Nullable<Asn1Tag>)
- Исходный код:
- AsnDecoder.Enumerated.cs
- Исходный код:
- AsnDecoder.Enumerated.cs
- Исходный код:
- AsnDecoder.Enumerated.cs
Считывает перечислимое значение из source
с указанным тегом в соответствии с заданными правилами кодирования, преобразуя его в неперечислимое [FlagsAttribute], указанное в TEnum
.
public static TEnum ReadEnumeratedValue<TEnum> (ReadOnlySpan<byte> source, System.Formats.Asn1.AsnEncodingRules ruleSet, out int bytesConsumed, System.Formats.Asn1.Asn1Tag? expectedTag = default) where TEnum : Enum;
static member ReadEnumeratedValue : ReadOnlySpan<byte> * System.Formats.Asn1.AsnEncodingRules * int * Nullable<System.Formats.Asn1.Asn1Tag> -> 'Enum (requires 'Enum :> Enum)
Public Shared Function ReadEnumeratedValue(Of TEnum As Enum) (source As ReadOnlySpan(Of Byte), ruleSet As AsnEncodingRules, ByRef bytesConsumed As Integer, Optional expectedTag As Nullable(Of Asn1Tag) = Nothing) As TEnum
Параметры типа
- TEnum
Тип перечисления назначения.
Параметры
- source
- ReadOnlySpan<Byte>
Буфер, содержащий закодированные данные.
- ruleSet
- AsnEncodingRules
Ограничения кодирования, используемые при интерпретации данных.
- bytesConsumed
- Int32
При возврате из этого метода — общее количество байтов для закодированного значения. Этот параметр обрабатывается как неинициализированный.
Тег, который необходимо проверить перед чтением, или null
для тега по умолчанию (Universal 10).
Возвращаемое значение
Перечислимое значение, преобразованное в TEnum
.
Исключения
ruleSet
не определен.
У следующего значения нет правильного тега.
-или-
Кодировка длины недопустима в соответствии с текущими правилами кодирования.
-или-
Содержимое недопустимо в соответствии с текущими правилами кодирования.
-или-
Закодированное значение слишком велико, чтобы поместиться в enumType
значение.
TEnum
не является типом перечисления.
-или-
TEnum
был объявлен с параметром FlagsAttribute.
-или-
expectedTag
.TagClass имеет значение Universal, но expectedTag
.TagValue не является правильным для метода .
Комментарии
Этот метод не проверяет, определено ли возвращаемое значение в TEnum
.