AsnDecoder.ReadEnumeratedValue Method

Definition

Overloads

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

Reads an Enumerated from source with a specified tag under the specified encoding rules, converting it to the non-[FlagsAttribute] enum specified by enumType.

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

Reads an Enumerated from source with a specified tag under the specified encoding rules, converting it to the non-[FlagsAttribute] enum specified by TEnum.

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

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

Reads an Enumerated from source with a specified tag under the specified encoding rules, converting it to the non-[FlagsAttribute] enum specified by 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

Parameters

source
ReadOnlySpan<Byte>

The buffer containing encoded data.

ruleSet
AsnEncodingRules

The encoding constraints to use when interpreting the data.

enumType
Type

Type object representing the destination type.

bytesConsumed
Int32

When this method returns, the total number of bytes for the encoded value. This parameter is treated as uninitialized.

expectedTag
Nullable<Asn1Tag>

The tag to check for before reading, or null for the default tag (Universal 10).

Returns

The Enumerated value converted to a enumType.

Exceptions

The next value does not have the correct tag.

-or-

The length encoding is not valid under the current encoding rules.

-or-

The contents are not valid under the current encoding rules.

-or-

The encoded value is too big to fit in a enumType value.

enumType is not an enum type.

-or-

enumType was declared with FlagsAttribute.

-or-

enumType.TagClass is Universal, but enumType.TagValue is not correct for the method.

enumType is null.

Remarks

This method does not validate that the return value is defined within enumType.

Applies to

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

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

Reads an Enumerated from source with a specified tag under the specified encoding rules, converting it to the non-[FlagsAttribute] enum specified by 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

Type Parameters

TEnum

Destination enum type.

Parameters

source
ReadOnlySpan<Byte>

The buffer containing encoded data.

ruleSet
AsnEncodingRules

The encoding constraints to use when interpreting the data.

bytesConsumed
Int32

When this method returns, the total number of bytes for the encoded value. This parameter is treated as uninitialized.

expectedTag
Nullable<Asn1Tag>

The tag to check for before reading, or null for the default tag (Universal 10).

Returns

TEnum

The Enumerated value converted to a TEnum.

Exceptions

ruleSet is not defined.

The next value does not have the correct tag.

-or-

The length encoding is not valid under the current encoding rules.

-or-

The contents are not valid under the current encoding rules.

-or-

The encoded value is too big to fit in a enumType value.

TEnum is not an enum type.

-or-

TEnum was declared with FlagsAttribute.

-or-

expectedTag.TagClass is Universal, but expectedTag.TagValue is not correct for the method.

Remarks

This method does not validate that the return value is defined within TEnum.

Applies to