异步方法不能使用ref和out的解决方法

 异常处理汇总-后端系列:http://www.cnblogs.com/dunitian/p/4523006.html

应用场景==》后端现在都是用异步方法,那么分页是必不可少的,于是就有了这个问题

这个是官方说明:https://social.msdn.microsoft.com/Forums/en-US/d2f48a52-e35a-4948-844d-828a1a6deb74/why-async-methods-cannot-have-ref-or-out-parameters

这个基本上是无解,我只想到了折中的处理,如果有伙计能完美解决记得通知我一下,小弟感激不尽~

从需求入手==》目的是什么?为了得到数据+总数据量

那么可以封装一个类,这个类里面放这些东西:

参考:

 

以下是其他解决方案,你也可以试试:

可以嵌套方法
public Task<string> FooAsync(out int x, ref int y)
{
    // Assign a value to x here, maybe change y
    return FooAsyncImpl(x, y);
}

private async Task<string> FooAsyncImpl(int x, int y) // Not ref or out!
{
}

 

posted @ 2016-06-03 17:02  毒逆天  阅读(9569)  评论(2编辑  收藏  举报