Beziehen Sie sich auf einen generischen Typ eines generischen Typs in der C # XML-Dokumentation?
Schreiben einige XML-Dokumentation für ein Prädikat helper-Klasse. Aber ich kann nicht herausfinden, ich kann beziehen sich auf eine Expression<Func<T, bool>>
ohne dabei einen syntax-Fehler. Ist es überhaupt möglich? Ich habe dies ausprobiert:
<see cref="Expression{Func{T, bool}}"/>
Aber ich bekomme eine rote Wellenlinie unter {T, bool}}
. Dies funktioniert aber:
<see cref="Expression{TDelegate}"/>
Jemand eine Ahnung?
Update:
Die Antwort, die gegeben wurde (und die ich angenommen habe) scheinbar nicht funktioniert. Aber jetzt habe ich angefangen, eine Menge Warnungen über Sachen, die nicht in der Lage, zu beheben. Ich habe eine Klasse namens ExpressionBuilder<T>
die Werke mit Expression<Func<T, bool>>
viel. So will mich natürlich zu Lesen, dass in meiner XML-Kommentare.
Ich habe versucht die beiden Versionen, die ich darüber weiß:
<see cref="Expression<Func<T, Boolean>>"/>
<see cref="Expression{Func{T, Boolean}}"/>
Aber weder die Arbeit. (Und auf dem letzten, ReSharper setzt eine Blaue squiggly unter {T,Boolean}}
bekomme ich zwei Warnungen unter Zusammenstellung überall, wo ich es benutzt haben, die besagt, dass:
- XML-Kommentar auf 'blah blah' hat cref-Attribut 'Expression>' konnte nicht aufgelöst werden
- Parameter Type-Deklaration muss ein Bezeichner nicht geben. Siehe auch Fehler CS0081.
Habe das gleiche Problem, irgendwo habe ich versucht zu finden Range<Nullable<DateTime>>
(Range<DateTime?>
hat nicht funktioniert entweder. Beide mit { } und mit < >
)
Bin ich eigentlich nicht finden, um diese Arten von Generika?
InformationsquelleAutor der Frage Svish | 2009-03-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Scheint es keinen Weg zu finden, um einen generischen (generic), die in der XML-Dokumentation, denn es gibt eigentlich keine Möglichkeit zum verweisen auf ein Generikum eines bestimmten Typs.
Lasse V Karlsen ist Antwort es Klick gemacht bei mir:
Wenn Sie schreiben
<see cref="IEnumerable{Int32}" />
der compiler nur verwendet, "Int32", wie die Typ-parameter-name, der nicht dem Typ-argument. Schreiben<see cref="IEnumerable{HelloWorld}" />
würde genauso gut funktionieren. Dies macht Sinn, denn es gibt keine spezifische Seite in der MSDN nach "IEnumerable int", dass die Dokumentation könnte link.Dokumentieren Sie Ihre Klasse richtig, ich denke, du würdest etwas schreiben wie:
Ich hoffe Euch gefällt der text.
InformationsquelleAutor der Antwort Rory MacLeod
Was genau möchtest du es verlinken?
Es gibt keine solche Sache in der Dokumentation als
Expression<Func<T>>
die so offensichtlich einen link zu, das würde nicht funktionieren.Können Sie einen link zu
Expression<TDelegate>
denn das existiert.Als für das, was funktioniert oder nicht, weder von den folgenden arbeiten in Visual Studio 2008 /.NET 3.5 für mich:
Aber das funktioniert:
also anscheinend ist der generische Typ-parameter muss nicht der gleiche sein wie der in der Erklärung.
InformationsquelleAutor der Antwort Lasse Vågsæther Karlsen
InformationsquelleAutor der Antwort Konstantin Tarkus
Ich in dieses jetzt, wie ich eine Funktion zurückgibt, die ein
List<List<byte>>
. Ja, es ist hässlich, aber ich habe es nicht geschrieben. Standard-disclaimer, den ich kenne.Sowieso, in VS 2017 mit R# Ultimate 2017.1, dieses doc-Kommentar...
...gibt mir einen syntax-Fehler. Jedoch, diese...
<returns><see><cref>List{List{byte}}</cref></see> of split frames</returns>
...nicht. Eeeenteresting.
Immer noch hässlich ist? Ja.
Als hässlich? Ich denke, es ist weniger schrecklich als mit
<
und>
mir....InformationsquelleAutor der Antwort Mike Loux
Nicht, verwenden Sie eine leere sehen-element (
<see cref="..." />
). Stattdessen setzen Sie text innerhalb der siehe elementInformationsquelleAutor der Antwort ILMTitan