我有一個類(示出簡化的樣品和僅有的相關部件)爲什麼異步方法返回類型不能從任務派生?
public class AsyncScenario : Task<Scenario>
{
public async AsyncScenario Test(Func<Task> action)
{
return await this;
}
}
我不能編譯此,因爲該方法的返回類型:
編譯錯誤CS1983:「的返回類型的異步方法必須是void,Task或Task < T>」
爲什麼不允許異步方法返回來自Task<T>
派生的類?
編譯器應該如何實例化你的DerivedTask?但是,在這種情況下,沒有理由使用'async'。你可以刪除'await'和'async',它可以正常工作。 –
Aron