AsnDecoder.ReadNamedBitListValue 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
오버로드
ReadNamedBitListValue(ReadOnlySpan<Byte>, AsnEncodingRules, Type, Int32, Nullable<Asn1Tag>) |
지정된 인코딩 규칙에 따라 지정된 태그가 있는 |
ReadNamedBitListValue<TFlagsEnum>(ReadOnlySpan<Byte>, AsnEncodingRules, Int32, Nullable<Asn1Tag>) |
지정된 인코딩 규칙에 따라 지정된 태그가 있는 |
ReadNamedBitListValue(ReadOnlySpan<Byte>, AsnEncodingRules, Type, Int32, Nullable<Asn1Tag>)
- Source:
- AsnDecoder.NamedBitList.cs
- Source:
- AsnDecoder.NamedBitList.cs
- Source:
- AsnDecoder.NamedBitList.cs
지정된 인코딩 규칙에 따라 지정된 태그가 있는 source
에서 NamedBitList를 읽어 flagsEnumType
으로 지정된 [FlagsAttribute] 열거형으로 변환합니다.
public static Enum ReadNamedBitListValue (ReadOnlySpan<byte> source, System.Formats.Asn1.AsnEncodingRules ruleSet, Type flagsEnumType, out int bytesConsumed, System.Formats.Asn1.Asn1Tag? expectedTag = default);
static member ReadNamedBitListValue : ReadOnlySpan<byte> * System.Formats.Asn1.AsnEncodingRules * Type * int * Nullable<System.Formats.Asn1.Asn1Tag> -> Enum
Public Shared Function ReadNamedBitListValue (source As ReadOnlySpan(Of Byte), ruleSet As AsnEncodingRules, flagsEnumType As Type, ByRef bytesConsumed As Integer, Optional expectedTag As Nullable(Of Asn1Tag) = Nothing) As Enum
매개 변수
- source
- ReadOnlySpan<Byte>
인코딩된 데이터를 포함하는 버퍼입니다.
- ruleSet
- AsnEncodingRules
데이터를 해석할 때 사용할 인코딩 제약 조건입니다.
- flagsEnumType
- Type
대상 형식을 나타내는 형식 개체입니다.
- bytesConsumed
- Int32
이 메서드가 반환될 때 인코딩된 값의 총 바이트 수입니다. 이 매개 변수는 초기화되지 않은 것으로 처리됩니다.
반환
flagsEnumType
으로 변환된 NamedBitList 값입니다.
예외
ruleSet
이 정의되어 있지 않습니다.
다음 값에 올바른 태그가 없습니다.
또는
길이 인코딩은 현재 인코딩 규칙에 따라 유효하지 않습니다.
또는
콘텐츠는 현재 인코딩 규칙에 따라 유효하지 않습니다.
또는
인코딩된 값이 너무 커서 값에 flagsEnumType
맞지 않습니다.
flagsEnumType
이 열거형 형식이 아닙니다.
또는
flagsEnumType
로 선언되지 않았습니다. FlagsAttribute
또는
expectedTag
을 선택합니다.TagClass 가 Universal이지만 expectedTag
TagValue 메서드에 대해 가 올바르지 않습니다.
flagsEnumType
은 null
입니다.
적용 대상
ReadNamedBitListValue<TFlagsEnum>(ReadOnlySpan<Byte>, AsnEncodingRules, Int32, Nullable<Asn1Tag>)
- Source:
- AsnDecoder.NamedBitList.cs
- Source:
- AsnDecoder.NamedBitList.cs
- Source:
- AsnDecoder.NamedBitList.cs
지정된 인코딩 규칙에 따라 지정된 태그가 있는 source
에서 NamedBitList를 읽어 TFlagsEnum
으로 지정된 [FlagsAttribute] 열거형으로 변환합니다.
public static TFlagsEnum ReadNamedBitListValue<TFlagsEnum> (ReadOnlySpan<byte> source, System.Formats.Asn1.AsnEncodingRules ruleSet, out int bytesConsumed, System.Formats.Asn1.Asn1Tag? expectedTag = default) where TFlagsEnum : Enum;
static member ReadNamedBitListValue : ReadOnlySpan<byte> * System.Formats.Asn1.AsnEncodingRules * int * Nullable<System.Formats.Asn1.Asn1Tag> -> 'FlagsEnum (requires 'FlagsEnum :> Enum)
Public Shared Function ReadNamedBitListValue(Of TFlagsEnum As Enum) (source As ReadOnlySpan(Of Byte), ruleSet As AsnEncodingRules, ByRef bytesConsumed As Integer, Optional expectedTag As Nullable(Of Asn1Tag) = Nothing) As TFlagsEnum
형식 매개 변수
- TFlagsEnum
대상 열거형 형식입니다.
매개 변수
- source
- ReadOnlySpan<Byte>
인코딩된 데이터를 포함하는 버퍼입니다.
- ruleSet
- AsnEncodingRules
데이터를 해석할 때 사용할 인코딩 제약 조건입니다.
- bytesConsumed
- Int32
이 메서드가 반환될 때 인코딩된 값의 총 바이트 수입니다. 이 매개 변수는 초기화되지 않은 것으로 처리됩니다.
반환
TFlagsEnum
으로 변환된 NamedBitList 값입니다.
예외
ruleSet
이 정의되어 있지 않습니다.
다음 값에 올바른 태그가 없습니다.
또는
길이 인코딩은 현재 인코딩 규칙에 따라 유효하지 않습니다.
또는
콘텐츠는 현재 인코딩 규칙에 따라 유효하지 않습니다.
또는
인코딩된 값이 너무 커서 값에 TFlagsEnum
맞지 않습니다.
TFlagsEnum
이 열거형 형식이 아닙니다.
또는
TFlagsEnum
로 선언되지 않았습니다. FlagsAttribute
또는
expectedTag
을 선택합니다.TagClass 가 Universal이지만 expectedTag
TagValue 메서드에 대해 가 올바르지 않습니다.
설명
이 메서드가 수행하는 비트 맞춤은 값의 첫 번째 바이트에서 가장 중요한 비트를 에서 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다른 값을 사용합니다.
적용 대상
.NET