Предупреждение C # для неиспользуемой переменной в foreach

У меня есть следующий код (упрощенный):

IEnumerable MyFunc(...){
    IAsyncResult res = mSocket.BeginReceive(mReceptionArray, 0, pNbBytes, SocketFlags.None, null, null);
    while (!res.IsCompleted){
        yield return new WaitForFixedUpdate();
    }
}

Который можно использовать следующим образом:

foreach(object o in MyFunc());

Конечно, компилятор жалуется, потому что o является никогда не использовался. Есть ли способ обойти это?

РЕДАКТИРОВАТЬ

Foreach выполняется в сопрограмме. Мне нужно заблокировать выполнение сопрограммы до тех пор, пока я не получу данные с сервера. Я мог бы использовать обычный Receive () , но это заблокировало бы все другие сопрограммы, а я не могу этого сделать: есть много других работающих сопрограмм, и блокирование этой с помощью Receive или EndReceive заблокировало бы их.

В любом случае, это не ] a busy-wait.

Любые предложения по рефакторингу кода более чем приветствуются, я не очень разбираюсь в C #.

0
задан user7116 17 October 2011 в 18:26
поделиться