ValueAsnReader.ReadNamedBitListValue Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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 |
| 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 |
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.
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.
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>)
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
Retouren
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.