ValueAsnReader.ReadNamedBitListValue Méthode

Définition

Surcharges

Nom Description
ReadNamedBitListValue(Type, Nullable<Asn1Tag>)

Lit la valeur suivante sous la forme d’un NamedBitList avec une balise spécifiée, en la convertissant en énumération [FlagsAttribute] spécifiée par flagsEnumType.

ReadNamedBitListValue<TFlagsEnum>(Nullable<Asn1Tag>)

Lit la valeur suivante sous la forme d’un NamedBitList avec une balise spécifiée, en la convertissant en énumération [FlagsAttribute] spécifiée par TFlagsEnum.

ReadNamedBitListValue(Type, Nullable<Asn1Tag>)

Source:
AsnDecoder.NamedBitList.cs

Lit la valeur suivante sous la forme d’un NamedBitList avec une balise spécifiée, en la convertissant en énumération [FlagsAttribute] spécifiée par 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

Paramètres

flagsEnumType
Type

Objet type représentant le type de destination.

expectedTag
Nullable<Asn1Tag>

Balise à vérifier avant la lecture.

Retours

Valeur NamedBitList convertie en flagsEnumType.

Exceptions

La valeur suivante n’a pas la balise correcte.

- ou -

L’encodage de longueur n’est pas valide dans les règles d’encodage actuelles.

- ou -

Le contenu n’est pas valide dans les règles d’encodage actuelles.

- ou -

La valeur encodée est trop grande pour s’adapter à une flagsEnumType valeur.

flagsEnumType n’est pas un type d’énumération.

 -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 est null

Voir aussi

S’applique à

ReadNamedBitListValue<TFlagsEnum>(Nullable<Asn1Tag>)

Source:
AsnDecoder.NamedBitList.cs

Lit la valeur suivante sous la forme d’un NamedBitList avec une balise spécifiée, en la convertissant en énumération [FlagsAttribute] spécifiée par 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

Paramètres de type

TFlagsEnum

Type d’énumération de destination.

Paramètres

expectedTag
Nullable<Asn1Tag>

Balise à vérifier avant la lecture.

Retours

TFlagsEnum

Valeur NamedBitList convertie en TFlagsEnum.

Exceptions

La valeur suivante n’a pas la balise correcte.

- ou -

L’encodage de longueur n’est pas valide dans les règles d’encodage actuelles.

- ou -

Le contenu n’est pas valide dans les règles d’encodage actuelles.

- ou -

La valeur encodée est trop grande pour s’adapter à une TFlagsEnum valeur.

TFlagsEnum n’est pas un type d’énumération.

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

Remarques

L’alignement du bit effectué par cette méthode consiste à interpréter le bit le plus significatif dans le premier octet de la valeur comme le bit le moins significatif en TFlagsEnum, avec des bits croissants en valeur jusqu’au bit le moins significatif du premier octet, en suivant le bit le plus significatif du deuxième octet, et ainsi de suite. Dans ce schéma, la déclaration de type ASN.1 suivante et l’énumération C# peuvent être utilisées ensemble :

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

Bien que l’exemple utilise ici keyUsage NamedBitList à partir de RFC 3280 (4.2.1.3), l’exemple d’énumération utilise des valeurs différentes de System.Security.Cryptography.X509Certificates.X509KeyUsageFlags.

S’applique à