异步方法不能使用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!
{
}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM