AsnDecoder.ReadEnumeratedValue 方法

定义

重载

ReadEnumeratedValue(ReadOnlySpan<Byte>, AsnEncodingRules, Type, Int32, Nullable<Asn1Tag>)

在指定编码规则下,从带有指定标记的 source 中读取枚举,并将其转换为由 enumType 指定的非 [FlagsAttribute] 枚举。

ReadEnumeratedValue<TEnum>(ReadOnlySpan<Byte>, AsnEncodingRules, Int32, Nullable<Asn1Tag>)

在指定编码规则下,从带有指定标记的 source 中读取枚举,并将其转换为由 TEnum 指定的非 [FlagsAttribute] 枚举。

ReadEnumeratedValue(ReadOnlySpan<Byte>, AsnEncodingRules, Type, Int32, Nullable<Asn1Tag>)

Source:
AsnDecoder.Enumerated.cs
Source:
AsnDecoder.Enumerated.cs
Source:
AsnDecoder.Enumerated.cs

在指定编码规则下,从带有指定标记的 source 中读取枚举,并将其转换为由 enumType 指定的非 [FlagsAttribute] 枚举。

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

类型对象,表示目标类型。

bytesConsumed
Int32

此方法返回时,为编码值的字节总数。 该参数未经初始化即被处理。

expectedTag
Nullable<Asn1Tag>

读取前要检查的标记,或使用 null 作为默认标记(通用 10)。

返回

转换为 enumType 的枚举值。

例外

下一个值没有正确的标记。

-或-

长度编码在当前编码规则下无效。

-或-

这些内容在当前编码规则下无效。

-或-

编码的值太大,无法容纳值 enumType

enumType 不是枚举类型。

-或-

enumType 已使用 FlagsAttribute声明。

-或-

enumTypeTagClassUniversal,但 enumTypeTagValue 对于 方法,则不正确。

enumTypenull

注解

此方法不验证是否在 中 enumType定义了返回值。

适用于

ReadEnumeratedValue<TEnum>(ReadOnlySpan<Byte>, AsnEncodingRules, Int32, Nullable<Asn1Tag>)

Source:
AsnDecoder.Enumerated.cs
Source:
AsnDecoder.Enumerated.cs
Source:
AsnDecoder.Enumerated.cs

在指定编码规则下,从带有指定标记的 source 中读取枚举,并将其转换为由 TEnum 指定的非 [FlagsAttribute] 枚举。

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

此方法返回时,为编码值的字节总数。 该参数未经初始化即被处理。

expectedTag
Nullable<Asn1Tag>

读取前要检查的标记,或使用 null 作为默认标记(通用 10)。

返回

TEnum

转换为 TEnum 的枚举值。

例外

未定义ruleSet

下一个值没有正确的标记。

-或-

长度编码在当前编码规则下无效。

-或-

这些内容在当前编码规则下无效。

-或-

编码的值太大,无法容纳值 enumType

TEnum 不是枚举类型。

-或-

TEnum 已使用 FlagsAttribute声明。

-或-

expectedTagTagClassUniversal,但 expectedTagTagValue 对于 方法,则不正确。

注解

此方法不验证是否在 中 TEnum定义了返回值。

适用于