ValueAsnReader.ReadNamedBitListValue Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Überlädt
| Name | Beschreibung |
|---|---|
| ReadNamedBitListValue(Type, Nullable<Asn1Tag>) |
Liest den nächsten Wert als NamedBitList mit einem angegebenen Tag und konvertiert ihn in dieFlagsAttribute durch |
| ReadNamedBitListValue<TFlagsEnum>(Nullable<Asn1Tag>) |
Liest den nächsten Wert als NamedBitList mit einem angegebenen Tag und konvertiert ihn in dieFlagsAttribute durch |
ReadNamedBitListValue(Type, Nullable<Asn1Tag>)
- Quelle:
- AsnDecoder.NamedBitList.cs
Liest den nächsten Wert als NamedBitList mit einem angegebenen Tag und konvertiert ihn in dieFlagsAttribute durch flagsEnumType[] angegebene Enumeration.
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
Parameter
- flagsEnumType
- Type
Type-Objekt, das den Zieltyp darstellt.
Gibt zurück
Der NamedBitList-Wert, der in ein flagsEnumType.
Ausnahmen
Der nächste Wert verfügt nicht über das richtige Tag.
- oder -
Die Längencodierung ist unter den aktuellen Codierungsregeln ungültig.
- oder -
Der Inhalt ist unter den aktuellen Codierungsregeln ungültig.
- oder -
Der codierte Wert ist zu groß, um in einen flagsEnumType Wert zu passen.
flagsEnumType ist kein Enumerationstyp.
-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 ist null
Weitere Informationen
Gilt für:
ReadNamedBitListValue<TFlagsEnum>(Nullable<Asn1Tag>)
- Quelle:
- AsnDecoder.NamedBitList.cs
Liest den nächsten Wert als NamedBitList mit einem angegebenen Tag und konvertiert ihn in dieFlagsAttribute durch TFlagsEnum[] angegebene Enumeration.
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
Typparameter
- TFlagsEnum
Der Enumerationstyp des Ziels.
Parameter
Gibt zurück
Der NamedBitList-Wert, der in ein TFlagsEnum.
Ausnahmen
Der nächste Wert verfügt nicht über das richtige Tag.
- oder -
Die Längencodierung ist unter den aktuellen Codierungsregeln ungültig.
- oder -
Der Inhalt ist unter den aktuellen Codierungsregeln ungültig.
- oder -
Der codierte Wert ist zu groß, um in einen TFlagsEnum Wert zu passen.
TFlagsEnum ist kein Enumerationstyp.
-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.
Hinweise
Die von dieser Methode durchgeführte Bitausrichtung besteht darin, das wichtigste Bit im ersten Byte des Werts als das am wenigsten signifikante Bit in TFlagsEnum, wobei Bits bis zum kleinsten signifikanten Bit des ersten Bytes, mit dem wichtigsten Bit des zweiten Bytes usw. fortfahren. Unter diesem Schema kann die folgende ASN.1-Typdeklaration und C#-Aufzählung zusammen verwendet werden:
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),
}
Während im beispiel hier die KeyUsage NamedBitList aus RFC 3280 (4.2.1.3) verwendet wird, verwendet die Enumeration werte, die sich von System.Security.Cryptography.X509Certificates.X509KeyUsageFlags unterscheiden.