AsnReader.ReadNamedBitListValue Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Overload
ReadNamedBitListValue(Type, Nullable<Asn1Tag>) |
Legge il valore successivo come NamedBitList con un tag specificato e lo converte nell'enumerazione di tipo [FlagsAttribute] specificata da |
ReadNamedBitListValue<TFlagsEnum>(Nullable<Asn1Tag>) |
Legge il valore successivo come NamedBitList con un tag specificato e lo converte nell'enumerazione di tipo [FlagsAttribute] specificata da |
ReadNamedBitListValue(Type, Nullable<Asn1Tag>)
- Origine:
- AsnDecoder.NamedBitList.cs
- Origine:
- AsnDecoder.NamedBitList.cs
- Origine:
- AsnDecoder.NamedBitList.cs
Legge il valore successivo come NamedBitList con un tag specificato e lo converte nell'enumerazione di tipo [FlagsAttribute] specificata da 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
Parametri
- flagsEnumType
- Type
Oggetto type che rappresenta il tipo di destinazione.
Restituisce
Valore di NamedBitList convertito in un oggetto flagsEnumType
.
Eccezioni
Il valore successivo non ha il tag corretto.
-oppure-
La codifica della lunghezza non è valida nelle regole di codifica correnti.
-oppure-
Il contenuto non è valido nelle regole di codifica correnti.
-oppure-
Il valore codificato è troppo grande per adattarsi a un flagsEnumType
valore.
flagsEnumType
non è un tipo enumerazione.
-oppure-
flagsEnumType
non è stato dichiarato con FlagsAttribute
-oppure-
expectedTag
.TagClass è Universal, ma expectedTag
.TagValue non è corretto per il metodo .
flagsEnumType
è null
Si applica a
ReadNamedBitListValue<TFlagsEnum>(Nullable<Asn1Tag>)
- Origine:
- AsnDecoder.NamedBitList.cs
- Origine:
- AsnDecoder.NamedBitList.cs
- Origine:
- AsnDecoder.NamedBitList.cs
Legge il valore successivo come NamedBitList con un tag specificato e lo converte nell'enumerazione di tipo [FlagsAttribute] specificata da 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
Parametri di tipo
- TFlagsEnum
Tipo di enumerazione di destinazione.
Parametri
Restituisce
Valore di NamedBitList convertito in un oggetto TFlagsEnum
.
Eccezioni
Il valore successivo non ha il tag corretto.
-oppure-
La codifica della lunghezza non è valida nelle regole di codifica correnti.
-oppure-
Il contenuto non è valido nelle regole di codifica correnti.
-oppure-
Il valore codificato è troppo grande per adattarsi a un TFlagsEnum
valore.
TFlagsEnum
non è un tipo enumerazione.
-oppure-
TFlagsEnum
non è stato dichiarato con FlagsAttribute
-oppure-
expectedTag
.TagClass è Universal, ma expectedTag
.TagValue non è corretto per il metodo .
Commenti
L'allineamento dei bit eseguito da questo metodo consiste nell'interpretare il bit più significativo nel primo byte del valore come bit meno significativo in TFlagsEnum
, con bit crescenti nel valore fino al bit meno significativo del primo byte, procedendo con il bit più significativo del secondo byte e così via. In questo schema è possibile usare insieme la dichiarazione di tipo ASN.1 seguente e l'enumerazione 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),
}
Anche se nell'esempio seguente viene usato KeyUsage NamedBitList da RFC 3280 (4.2.1.3), l'enumerazione di esempio usa valori diversi da X509KeyUsageFlags.