To może trywialne pytanie, ale obecnie im jakiejś inline-dokumentacja dla przyszłych współpracowników i natknął się na coś takiego:Podsumowanie na async (void) Metoda: Co zwrócić?
/// <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(() => { });
}
}
Jak pewnie wiesz, wpisując 3 ukośniki powyżej metodę/Pole/klasy/whatever , uruchamia VisualStudio, aby wykonać jego Podsumowanie-Snippet-Completion.
Pytanie
Czy Task
rzeczywiście ważny zwrot wartość? A jeśli tak, to co napiszę w <returns></returns>
?
Z pewnością wiem, mogę to zignorować, ale ze względu na całkowitą gotowość do napisania tam rzeczy.
Albo nic, albo puste zadanie. Kusiło mnie, by zostawić to jako pustą etykietkę 'return', ponieważ nie ma tam dokumentacji uczącej ludzi o programowaniu (dlatego odradzam mówienie czegoś w stylu" pewnego zadania "- to jest jasne dla programisty, który rozumie async w języku C#), ale aby opisać swoją metodę - która niczego nie zwraca. – Rob
Po prostu FYI, że 'DoNothingAsync' faktycznie odrodzi wątek, aby nic nie robić, więc twierdzę, że nic by to nie dało; P Lepszym sposobem na nic nie byłoby zwrócenie np. 'Task.FromResult (0)'. (Wiem, że to tylko w celach demonstracyjnych) – poke