Dies ist vielleicht eine triviale Frage, aber zur Zeit im, einige Inline-Dokumentation für künftige Mitarbeiter tun und stolperte über etwas wie das:Zusammenfassung auf async (void) Methode: Was zurückgeben?
/// <summary>
/// This Class is totaly useless
/// </summary>
public class DummyClass {
/// <summary>
/// Will do nothing
/// </summary>
public void DoNothing() {
}
/// <summary>
/// Will do nothing async
/// </summary>
/// <returns></returns> <---- What to write here?
public async Task DoNothingAsync() {
await Task.Run(() => { });
}
}
Wie Sie vielleicht wissen, tippen 3 Schrägstriche über einer Methode/Feld/Klasse/was auch immer , löst VisualStudio aus, um die Zusammenfassung-Snippet-Vervollständigung auszuführen.
Frage
Ist Task
tatsächlich ein gültiger Rückgabewert? Und wenn ja, was schreibe ich in die <returns></returns>
?
Ich weiß sicherlich, ich kann das ignorieren, aber der Vollständigkeit halber bin ich bereit, Sachen dort zu schreiben.
Entweder nichts oder eine leere Aufgabe. Ich wäre versucht, es als leeres "Returns" -Tag zu belassen, da Dokumentation nicht dazu da ist, Leuten etwas über Programmierung beizubringen (also würde ich davon abraten, etwas wie "eine erwartete Aufgabe" zu sagen - das ist einem Entwickler klar versteht async in C#), aber um Ihre Methode zu beschreiben - die nichts zurückgibt. – Rob
Nur FYI, das 'DoNothingAsync' wird tatsächlich einen Thread spawnen, um nichts zu tun, also würde ich argumentieren, dass es nichts tun würde; P Eine bessere Art, nichts zu tun, wäre, z. 'Task.FromResult (0)'. (Ich weiß, es ist nur zu Demonstrationszwecken) – poke