[英]Interface that supports Task or Task <TResult> in one method
我正在写一个使用工厂模式的 API。
我有一个界面:
public interface IAbstractProduct<TRes, TCom>
{
Task<TRes> ExecuteAsync(TCom command);
}
Task 返回TRes
,但有时我只想返回Task
而不返回TResults
。 是否可以插入一个TRes
使得Task<TRes> = Task
?
或者使用其他方式使接口IAbstractProduct
处理Task
和Task<TRes>
?
不,最终。 你可以做的是:
where TRes: class
),也许返回一个Task<TRes>
结果是null
where TRes: struct
),返回一个Task<TRes?>
但是:如果TRes
可以是任何类型,那么不:这是不可能的。 在这种情况下,您可以考虑类似Task<(bool HasResult, TRes Result)>
- 实际上是手动构造的可选类型。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.