다음을 통해 공유


AsnReader.ReadNamedBitListValue 메서드

정의

오버로드

ReadNamedBitListValue(Type, Nullable<Asn1Tag>)

지정된 태그가 포함된 NamedBitList로 다음 값을 읽고 flagsEnumType을 통해 지정된 [FlagsAttribute] 열거형으로 변환합니다.

ReadNamedBitListValue<TFlagsEnum>(Nullable<Asn1Tag>)

지정된 태그가 포함된 NamedBitList로 다음 값을 읽고 TFlagsEnum을 통해 지정된 [FlagsAttribute] 열거형으로 변환합니다.

ReadNamedBitListValue(Type, Nullable<Asn1Tag>)

Source:
AsnDecoder.NamedBitList.cs
Source:
AsnDecoder.NamedBitList.cs
Source:
AsnDecoder.NamedBitList.cs

지정된 태그가 포함된 NamedBitList로 다음 값을 읽고 flagsEnumType을 통해 지정된 [FlagsAttribute] 열거형으로 변환합니다.

public Enum ReadNamedBitListValue (Type flagsEnumType, System.Formats.Asn1.Asn1Tag? expectedTag = default);
member this.ReadNamedBitListValue : Type * Nullable<System.Formats.Asn1.Asn1Tag> -> Enum
Public Function ReadNamedBitListValue (flagsEnumType As Type, Optional expectedTag As Nullable(Of Asn1Tag) = Nothing) As Enum

매개 변수

flagsEnumType
Type

대상 형식을 나타내는 형식 개체입니다.

expectedTag
Nullable<Asn1Tag>

읽기 전에 검사 태그입니다.

반환

flagsEnumType으로 변환된 NamedBitList 값입니다.

예외

다음 값에 올바른 태그가 없습니다.

또는

길이 인코딩은 현재 인코딩 규칙에서 유효하지 않습니다.

또는

콘텐츠는 현재 인코딩 규칙에 따라 유효하지 않습니다.

또는

인코딩된 값이 너무 커서 값에 flagsEnumType 맞지 않습니다.

flagsEnumType이 열거형 형식이 아닙니다.

또는

flagsEnumType 로 선언되지 않았습니다. FlagsAttribute

또는

expectedTag.TagClassUniversal이지만 expectedTagTagValue 가 메서드에 대해 올바르지 않습니다.

flagsEnumTypenull입니다.

적용 대상

ReadNamedBitListValue<TFlagsEnum>(Nullable<Asn1Tag>)

Source:
AsnDecoder.NamedBitList.cs
Source:
AsnDecoder.NamedBitList.cs
Source:
AsnDecoder.NamedBitList.cs

지정된 태그가 포함된 NamedBitList로 다음 값을 읽고 TFlagsEnum을 통해 지정된 [FlagsAttribute] 열거형으로 변환합니다.

public TFlagsEnum ReadNamedBitListValue<TFlagsEnum> (System.Formats.Asn1.Asn1Tag? expectedTag = default) where TFlagsEnum : Enum;
member this.ReadNamedBitListValue : Nullable<System.Formats.Asn1.Asn1Tag> -> 'FlagsEnum (requires 'FlagsEnum :> Enum)
Public Function ReadNamedBitListValue(Of TFlagsEnum As Enum) (Optional expectedTag As Nullable(Of Asn1Tag) = Nothing) As TFlagsEnum

형식 매개 변수

TFlagsEnum

대상 열거형 형식입니다.

매개 변수

expectedTag
Nullable<Asn1Tag>

읽기 전에 검사 태그입니다.

반환

TFlagsEnum

TFlagsEnum으로 변환된 NamedBitList 값입니다.

예외

다음 값에 올바른 태그가 없습니다.

또는

길이 인코딩은 현재 인코딩 규칙에서 유효하지 않습니다.

또는

콘텐츠는 현재 인코딩 규칙에 따라 유효하지 않습니다.

또는

인코딩된 값이 너무 커서 값에 TFlagsEnum 맞지 않습니다.

TFlagsEnum이 열거형 형식이 아닙니다.

또는

TFlagsEnum 로 선언되지 않았습니다. FlagsAttribute

또는

expectedTag.TagClassUniversal이지만 expectedTagTagValue 가 메서드에 대해 올바르지 않습니다.

설명

이 메서드가 수행하는 비트 맞춤은 값의 첫 번째 바이트에서 가장 중요한 비트를 에서 가장 유의미한 비트 TFlagsEnum로 해석하고, 비트는 첫 번째 바이트의 가장 중요한 비트까지 값이 증가하고, 두 번째 바이트의 가장 중요한 비트를 계속 진행하는 등입니다. 이 체계에서 다음 ASN.1 형식 선언 및 C# 열거형을 함께 사용할 수 있습니다.

KeyUsage ::= BIT STRING {
    digitalSignature        (0),
    nonRepudiation          (1),
    keyEncipherment         (2),
    dataEncipherment        (3),
    keyAgreement            (4),
    keyCertSign             (5),
    cRLSign                 (6),
    encipherOnly            (7),
    decipherOnly            (8) }
[Flags]
enum KeyUsage
{
    None = 0, DigitalSignature = 1 << (0),
    NonRepudiation = 1 << (1),
    KeyEncipherment = 1 << (2),
    DataEncipherment = 1 << (3),
    KeyAgreement = 1 << (4),
    KeyCertSign = 1 << (5),
    CrlSign = 1 << (6),
    EncipherOnly = 1 << (7),
    DecipherOnly = 1 << (8),
}

이 예제에서는 RFC 3280(4.2.1.3)의 KeyUsage NamedBitList를 사용하지만 예제 열거형은 와 X509KeyUsageFlags다른 값을 사용합니다.

적용 대상