dotnet / dotnet/dotnet-api-docs

XmlBinaryWriterSession.TryAdd: incorrect description of return values

Offen
#8,656 2 Kommentare 2 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

area-Serialization Pri3 untriaged
Vorherrschende Sprache
C#
Sterne
950
Forks
1.7k
Ø Merge
2 T. 19 Std.
Gemergte PRs (30 T.)
52

Beschreibung

Link to the documentation

The description of return values is as follows:

Returns
Boolean
true if the string could be added; otherwise, false.

But in fact the TryAdd method never returns false.

The code:

public virtual bool TryAdd(XmlDictionaryString value, out int key)
{
    ArgumentNullException.ThrowIfNull(value);

    IntArray? keys;

    if (_maps.TryGetValue(value.Dictionary, out keys))
    {
        key = (keys[value.Key] - 1);

        if (key != -1)
        {
            // If the key is already set, then something is wrong
            throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.XmlKeyAlreadyExists));
         }

         key = Add(value.Value);
         keys[value.Key] = (key + 1);
         return true;
    }

    key = Add(value.Value);
    keys = AddKeys(value.Dictionary, value.Key + 1);
    keys[value.Key] = (key + 1);
    return true;
}

Link to the sources

The TryAdd method returns true or throws an exception, but it doesn't return false.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit der verknüpften API-Dokumentation zu XmlBinaryWriterSession.TryAdd und vergleiche deren Abschnitt Returns mit dem Quellcode unter src/libraries/System.Private.DataContractSerialization/src/System/Xml/XmlBinaryWriterSession.cs. Aktualisiere die Beschreibung des Rückgabewerts so, dass sie dem Verhalten der Methode entspricht, und überprüfe anschließend die gerenderte API-Dokumentation.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
csharp
Bereich
documentation
Issue-Typ
Dokumentation
Schwierigkeit
1/5
Geschätzter Aufwand
Unter einer Stunde
Aktivitätsstatus
Veraltet
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
48/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.