Jak przekonwertować zadanie <TDerived> na zadanie <TBase>?
Ponieważ zadanie C # jest klasą, oczywiście nie możesz rzucićTask<TDerived>
do aTask<TBase>
.
Możesz jednak:
public async Task<TBase> Run() {
return await MethodThatReturnsDerivedTask();
}
Czy istnieje statyczna metoda zadania, którą mogę wywołać, aby uzyskaćTask<TDerived>
instancja, która zasadniczo wskazuje na podstawowe zadanie i rzuca wynik? Chciałbym coś takiego:
public Task<TBase> Run() {
return Task.FromDerived(MethodThatReturnsDerivedTask());
}
Czy taka metoda istnieje? Czy istnieje jakieś obciążenie związane z wykorzystaniem metody asynchronicznej wyłącznie do tego celu?