我有一个功能
UISupportedExternalAccessoryProtocols
我想为测试目的进行模拟。
实现此类方法的返回值的正确方法是什么。如果它会返回public Task DoSomethingAsync();
或其他内容,我会使用Task<int>
我能做到
Task.FromResult<int>(5);
然而,缺少await运算符,并且(至少使用Resharper)会加下划线。
在这里返回任务的正确方法是什么?
答案 0 :(得分:8)
您需要做的就是返回Task
和{surprise!:-))Task<T>
派生自Task
,它是 {{ 1}}。请参阅此reference。
所以只需返回Task
(或其他任何内容):
bool
您还可以使用以下方式返回completed return Task.FromResult(true);
Task
(注意:以上仅适用于.NET 4.6)
答案 1 :(得分:2)
您可以返回...
<tr ng-repeat="batch in allBatches | orderBy: 'Sort' | filter: filterTerm">
...
(需要.net 4.6)或仅Task.CompletedTask
这个想法就是返回Task.FromResult(true)
答案 2 :(得分:0)
如果只是想要实现的模拟,请创建一个用于您的类的接口:
public interface IDoStuff
{
Task DoSomethingAsync();
}
public class MyDoStuff : IDoStuff
{
public Task DoSomethingAsync()
{
...
}
}
然后只需使用接口IDoStuff创建一个模拟并模拟该方法。