ValueAsnReader.ReadNamedBitListValue Methode

Definitie

Overloads

Name Description
ReadNamedBitListValue(Type, Nullable<Asn1Tag>)

Leest de volgende waarde als een NamedBitList met een opgegeven tag, waarbij deze wordt geconverteerd naar de [FlagsAttribute] enum die is opgegeven door flagsEnumType.

ReadNamedBitListValue<TFlagsEnum>(Nullable<Asn1Tag>)

Leest de volgende waarde als een NamedBitList met een opgegeven tag, waarbij deze wordt geconverteerd naar de [FlagsAttribute] enum die is opgegeven door TFlagsEnum.

ReadNamedBitListValue(Type, Nullable<Asn1Tag>)

Bron:
AsnDecoder.NamedBitList.cs

Leest de volgende waarde als een NamedBitList met een opgegeven tag, waarbij deze wordt geconverteerd naar de [FlagsAttribute] enum die is opgegeven door flagsEnumType.

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

Parameters

flagsEnumType
Type

Typ het object dat het doeltype vertegenwoordigt.

expectedTag
Nullable<Asn1Tag>

De tag die moet worden gecontroleerd voordat u leest.

Retouren

De waarde NamedBitList geconverteerd naar een flagsEnumType.

Uitzonderingen

De volgende waarde heeft niet de juiste tag.

– of –

De lengtecodering is niet geldig onder de huidige coderingsregels.

– of –

De inhoud is niet geldig onder de huidige coderingsregels.

– of –

De gecodeerde waarde is te groot om in een flagsEnumType waarde te passen.

flagsEnumType is geen opsommingstype.

 -or-

 <code data-dev-comment-type="paramref">flagsEnumType</code> was not declared with <xref data-throw-if-not-resolved="true" uid="System.FlagsAttribute"></xref>

 -or-

 <code data-dev-comment-type="paramref">expectedTag</code>.<xref data-throw-if-not-resolved="true" uid="System.Formats.Asn1.Asn1Tag.TagClass"></xref> is
 <xref data-throw-if-not-resolved="true" uid="System.Formats.Asn1.TagClass.Universal"></xref>, but
 <code data-dev-comment-type="paramref">expectedTag</code>.<xref data-throw-if-not-resolved="true" uid="System.Formats.Asn1.Asn1Tag.TagValue"></xref> is not correct for
 the method.

flagsEnumType Is null

Zie ook

Van toepassing op

ReadNamedBitListValue<TFlagsEnum>(Nullable<Asn1Tag>)

Bron:
AsnDecoder.NamedBitList.cs

Leest de volgende waarde als een NamedBitList met een opgegeven tag, waarbij deze wordt geconverteerd naar de [FlagsAttribute] enum die is opgegeven door TFlagsEnum.

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

Type parameters

TFlagsEnum

Het type enum van het doel.

Parameters

expectedTag
Nullable<Asn1Tag>

De tag die moet worden gecontroleerd voordat u leest.

Retouren

TFlagsEnum

De waarde NamedBitList geconverteerd naar een TFlagsEnum.

Uitzonderingen

De volgende waarde heeft niet de juiste tag.

– of –

De lengtecodering is niet geldig onder de huidige coderingsregels.

– of –

De inhoud is niet geldig onder de huidige coderingsregels.

– of –

De gecodeerde waarde is te groot om in een TFlagsEnum waarde te passen.

TFlagsEnum is geen opsommingstype.

 -or-

 <code data-dev-comment-type="typeparamref">TFlagsEnum</code> was not declared with <xref data-throw-if-not-resolved="true" uid="System.FlagsAttribute"></xref>

 -or-

 <code data-dev-comment-type="paramref">expectedTag</code>.<xref data-throw-if-not-resolved="true" uid="System.Formats.Asn1.Asn1Tag.TagClass"></xref> is
 <xref data-throw-if-not-resolved="true" uid="System.Formats.Asn1.TagClass.Universal"></xref>, but
 <code data-dev-comment-type="paramref">expectedTag</code>.<xref data-throw-if-not-resolved="true" uid="System.Formats.Asn1.Asn1Tag.TagValue"></xref> is not correct for
 the method.

Opmerkingen

De bituitlijning die door deze methode wordt uitgevoerd, is het interpreteren van de belangrijkste bit in de eerste byte van de waarde als de minst significante bit in TFlagsEnum, waarbij bits in waarde toenemen totdat de minst significante bit van de eerste byte, doorgaat met de belangrijkste bit van de tweede byte, enzovoort. In dit schema kunnen de volgende asn.1-typedeclaratie en C#-opsomming samen worden gebruikt:

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

Hoewel in het voorbeeld hier de KeyUsage NamedBitList van RFC 3280 (4.2.1.3) wordt gebruikt, worden in het voorbeeld-opsomming waarden gebruikt die verschillen van System.Security.Cryptography.X509Certificates.X509KeyUsageFlags.

Van toepassing op