![](/img/trans.png)
[英]How does a function that returns a Task<TResult> according to its signature not throw a compilation error when you return TResult?
[英]Why can you return Task<TResult> when Task is expected?
当我在处理任务时,我创建了一个私有异步方法,它在延迟后返回一个随机数。 我还制作了一个调用私有异步方法的公共方法,但我忘记将返回类型从Task
更改为Task<int>
。
这只是工作中的一些速记版本吗? 如果不是,这是否意味着如果期望基数 class,您总是可以返回派生的 class?
这是否意味着如果期望基数 class,您总是可以返回派生的 class?
是的。 所有Task<T>
都是Task
,因此将引用从前者转换为后者总是没问题的。 这对于返回值和参数以及其他情况下的其他情况都是如此。
这只是正常的 inheritance,如果您对此不熟悉,我建议您阅读简介,因为这是一个相当基础的主题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.