Frage

Ich besuche einige alte Code, und es gibt eine ganze Reihe von Veranstaltungen manuell mit den Delegierten erklärt anstatt Eventhandler , wie folgt aus:

/// <summary>
/// Delegate for event Added
/// </summary>
/// <param name="index">Index of the item</param>
/// <param name="item">The item itself</param>
public delegate void ItemAdded(int index, T item);

/// <summary>
/// Added is raised whenever an item is added to the collection
/// </summary>
public event ItemAdded Added;

Alles schön und gut, bis ich komme Sandburg zu verwenden, um die Bibliothek zu dokumentieren, da es dann keine XML-Kommentare für das private Added Feld finden kann, die durch die Ereignisdeklaration erzeugt wird. Ich möchte versuchen und sortieren das aus, aber was ich möchte, ist zu tun, entweder:

  • Get Sandburg des automatisch generierten privaten Bereich zu ignorieren, ohne es zu sagen, alle privaten Felder vollständig zu ignorieren

oder

  • Get XML-Kommentare für den privaten Bereich erzeugt

Gibt es eine Möglichkeit, dies zu erreichen, ohne Refactoring den Code wie folgt aussehen:

/// <summary>
/// Delegate for event <see cref="Added"/>
/// </summary>
/// <param name="index">Index of the item</param>
/// <param name="item">The item itself</param>
public delegate void ItemAdded(int index, T item);

/// <summary>
/// Private storage for the event firing delegate for the <see cref="Added"/> event
/// </summary>
private ItemAdded _added;

/// <summary>
/// Added is raised whenever an item is added to the collection
/// </summary>
public event ItemAdded Added
{
    add
    {
        _added += value;
    }
    remove
    {
        _added -= value;
    }
}
War es hilfreich?

Lösung

Obwohl suboptimal, fand ich einen Weg, um dieses, die manuell die XML-Kommentare in die Datei gestellt war, die Namespace-Ebene Dokumentation für das Projekt enthält, in diese Richtung:

<member name="F:myCompany.Common.Collections.Generic.EventableCollection`1.Added">
  <summary>
    Auto-generated backing field for the <see cref="E:myCompany.Common.Collections.Generic.EventableSortedList`1.Added">Added</see> event
  </summary>
</member>

Das ergibt dann etwa, was ich brauchte.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top