天天看點

異步方法不能使用ref和out的解決方法

異步方法不能使用ref和out的解決方法

應用場景==》後端現在都是用異步方法,那麼分頁是必不可少的,于是就有了這個問題

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

這個基本上是無解,我隻想到了折中的處理,如果有夥計能完美解決記得通知我一下,小弟感激不盡~

從需求入手==》目的是什麼?為了得到資料+總資料量

那麼可以封裝一個類,這個類裡面放這些東西:

異步方法不能使用ref和out的解決方法

參考:

異步方法不能使用ref和out的解決方法
異步方法不能使用ref和out的解決方法

以下是其他解決方案,你也可以試試:

1

<code>可以嵌套方法</code>

2

3

4

5

6

7

8

9

<code>public</code> <code>Task&lt;</code><code>string</code><code>&gt; FooAsync(</code><code>out</code> <code>int</code> <code>x, </code><code>ref</code> <code>int</code> <code>y)</code>

<code>{</code>

<code>    </code><code>// Assign a value to x here, maybe change y</code>

<code>    </code><code>return</code> <code>FooAsyncImpl(x, y);</code>

<code>}</code>

<code>private</code> <code>async Task&lt;</code><code>string</code><code>&gt; FooAsyncImpl(</code><code>int</code> <code>x, </code><code>int</code> <code>y) </code><code>// Not ref or out!</code>

本文轉自毒逆天部落格園部落格,原文連結:http://www.cnblogs.com/dunitian/p/5556909.html,如需轉載請自行聯系原作者

繼續閱讀