Ganz unten asynchron?
Beim Versuch, das neue Async / Warten-Muster zu verstehen, habe ich eine Frage, auf die ich keine Antwort finden kann, nämlich ob ich meine Methoden mit Async dekorieren soll, ob ich diese Methoden von anderen Async-Funktionen aufrufen oder einfach zurückkehren möchteTask
Ist wo angebracht?
Mit anderen Worten, welche dieser Klassen A, B oder C ist die beste und warum?
class A<T>
{
public async Task<T> foo1() //Should be consumed
{
return await foo2();
}
public async Task<T> foo2() //Could be consumed
{
return await foo3();
}
private async Task<T> foo3() //Private
{
return await Task.Run(...);
}
}
class B<T>
{
public async Task<T> foo1() //Should be consumed
{
return await foo2();
}
public async Task<T> foo2() //Could be consumed
{
return await foo3();
}
private Task<T> foo3() //Private
{
return Task.Run(...);
}
}
class C<T>
{
public async Task<T> foo1() //Should be consumed
{
return await foo2();
}
public Task<T> foo2() //Could be consumed
{
return foo3();
}
private Task<T> foo3() //Private
{
return Task.Run(...);
}
}
Es scheint überflüssig, Methoden zu überdekorieren, also neige ich natürlich dazuC
, aber gleichzeitig fühlt es sich etwas umständlich an, damit zu arbeitenTask<T>
es sei denn, Sie verwenden dieawait
Stichwort.