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?

questionAnswers(3)

yourAnswerToTheQuestion