7

Ich habe diese Methode, die ich versuche, Dokumentation zu generieren.Wie IEnumerable <String> in Dokumentationscode verwenden

/// <summary> 
    /// This method demonstrates taking a Func as argument and perform that action(Func) on a list of strings.</summary> 
    /// <param name="listOfStrings"> ... </param> 
    /// <param name="ActionToPerformOnEach"> ... </param> 
    /// <returns>Returns an <see cref="IEnumerable{String}" /> which has elements that resulted due to the Func action </returns> 
    public static IEnumerable<String> ActOnListWithFunc(List<string> listOfStrings, Func<string, string> ActionToPerformOnEach) { 
     foreach (string s in listOfStrings) { 
      string actedString = ActionToPerformOnEach(s); 
      yield return actedString; 
     } 
    } 

Dies erzeugt Dokumentation wie folgt (nur Rückgabewert Schnitt dargestellt ist)

Return Value 
Type: IEnumerable<String> 
Returns an IEnumerable<T> which has elements that resulted due to the Func action 

Wo ich den Rückgabewert des Verfahrens beschreibe, möchte ich IEnumerable <Zeichenfolge> verwenden aber wenn Sie die Beschreibung schauen, erzeugt es IEnumerable <T>. Die Typ: (zweite Zeile oben) obwohl richtig aufgenommen wurde als IEnumerable <Zeichenfolge>. Nur die Beschreibungszeile für den Rückgabewert ist nicht korrekt.

Wie wir IEnumerable <String> oder IEnumerable <int> oder jede andere spezifische Art der Aufzählung in Beschreibungen von Parametern oder Rückgabewerte beschreiben, das heißt betwween <param> </param > oder <kehrt> </gibt > Tags der zu dokumentierenden Methode zurück.

+0

gibt mögliche Duplikat von [Verweis auf generische Klassen und Methoden in XML-Dokumentation] (http://stackoverflow.com/questions/532166/how-to -reference-generic-classes-and-methods-in-xml-documentation –

+0

Ich verwende bereits in meinem Returns-Attribut für die Methode, aber es zeigt nicht den spezifischen generischen Typ (Zeichenfolge). Bitte beachten Sie die dritte Zeile des zweiten geposteten Patch-Codes. Es liest IEnumerable anstelle von IEnumerable Jatin

Antwort

4

Sie können den entsprechenden Text mit <see cref="IEnumerable{String}">IEnumerable&lt;string&gt;</see> anzeigen. Der Link wird jedoch immer noch IEnumerable<T> sein, da es keine spezifische Dokumentation für IEnumerable<string>

+0

Ich denke, Link zu IEnumerable kann akzeptabel sein, aber diese Zeichenentitäten (<und>) sind ein wenig hässlich. Aber auf jeden Fall funktioniert Ihre Lösung und ich bekomme IEnumerable wie gewünscht. Dennoch werde ich noch einige Zeit auf mögliche Alternativen warten, bevor ich die Lösung akzeptiere. – Jatin