Share via


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>)

來源:
AsnDecoder.Enumerated.cs
來源:
AsnDecoder.Enumerated.cs
來源:
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

代表目的型別的 Type 物件。

bytesConsumed
Int32

當此方法傳回時,編碼值的位元組總數。 這個參數會被視為未初始化。

expectedTag
Nullable<Asn1Tag>

要在讀取之前檢查的標籤,或預設標籤的 null (Universal 10)。

傳回

轉換成 enumType 的列舉值。

例外狀況

下一個值沒有正確的標記。

-或-

長度編碼在目前的編碼規則下無效。

-或-

內容在目前的編碼規則下無效。

-或-

編碼的值太大,無法放入 enumType 值中。

enumType 不是列舉類型。

-或-

enumType 已使用 FlagsAttribute宣告。

-或-

enumTypeTagClassUniversal,但 enumTypeTagValue 對方法而言不正確。

enumTypenull

備註

這個方法不會驗證傳回值是否定義於 內 enumType

適用於

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

來源:
AsnDecoder.Enumerated.cs
來源:
AsnDecoder.Enumerated.cs
來源:
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 (Universal 10)。

傳回

TEnum

轉換成 TEnum 的列舉值。

例外狀況

未定義ruleSet

下一個值沒有正確的標記。

-或-

長度編碼在目前的編碼規則下無效。

-或-

內容在目前的編碼規則下無效。

-或-

編碼的值太大,無法放入 enumType 值中。

TEnum 不是列舉類型。

-或-

TEnum 已使用 FlagsAttribute宣告。

-或-

expectedTagTagClassUniversal,但 expectedTagTagValue 對方法而言不正確。

備註

這個方法不會驗證傳回值是否定義於 內 TEnum

適用於