Freigeben über


CborWriter.WriteStartMap(Nullable<Int32>) Methode

Definition

Schreibt den Anfang einer Zuordnung mit bestimmter oder unbestimmter Länge (Haupttyp 5).

public:
 void WriteStartMap(Nullable<int> definiteLength);
public void WriteStartMap (int? definiteLength);
member this.WriteStartMap : Nullable<int> -> unit
Public Sub WriteStartMap (definiteLength As Nullable(Of Integer))

Parameter

definiteLength
Nullable<Int32>

Die Länge der Zuordnung mit bestimmter Länge oder null für eine Zuordnung mit unbestimmter Länge.

Ausnahmen

Der definiteLength-Parameter darf nicht negativ sein.

Das Schreiben eines neuen Werts überschreitet die bestimmte Länge des übergeordneten Datenelements.

- oder -

Der Haupttyp des codierten Werts ist im übergeordneten Datenelement nicht zulässig.

- oder -

Die geschriebenen Daten werden im aktuellen Konformitätsmodus nicht akzeptiert.

Hinweise

In kanonischen Konformitätsmodi lehnt der Writer Schreibvorgänge mit unbestimmter Länge ab, es sei denn, das ConvertIndefiniteLengthEncodings Flag ist aktiviert. Karteninhalte werden so geschrieben, als ob Arrays doppelt so lang sind wie die deklarierte Größe der Karte. Beispielsweise muss eine Zuordnung der Größe 1, die einen Schlüssel vom Typ Int32 mit einem Wert vom Typ Zeichenfolge enthält, durch aufeinander folgende Aufrufe von WriteInt32(Int32) und WriteTextString(ReadOnlySpan<Char>)geschrieben werden. Es liegt an dem Aufrufer, nachzuverfolgen, ob der nächste Aufruf ein Schlüssel oder ein Wert ist. Grundsätzlich ist dies eine technische Einschränkung, die sich aus der Tatsache ergibt, dass CBOR Schlüssel eines beliebigen Typs zulässt, z. B. kann eine Karte Schlüssel enthalten, die selbst Karten sind.

Gilt für: