Ошибка декомпилированного кода C # («Недопустимый термин выражения») - PullRequest
0 голосов
/ 09 октября 2018

Я декомпилировал приложение .NET, и код, который он мне возвращает, неверен, и я не знаю, как его заменить.Вот некоторые из неправильных строк:

if (((TaskAwaiter<HttpResponseMessage>) ref awaiter1).get_IsCompleted()) {...}

if (((TaskAwaiter<Uri>) ref awaiter2).get_IsCompleted()) {...}

Возвращаемая мне ошибка: «Недопустимое выражение выражение« ref »».Может кто-нибудь мне помочь?Спасибо

1 Ответ

0 голосов
/ 09 октября 2018

Это проверка, если задача (задача вызывается до выполнения условия) уже выполнена.Например,

HttpClient httpClient = new HttpClient();
var result = await httpClient.GetStringAsync(url);

равно

this.<httpClient>5__1 = new HttpClient();
taskAwaiter = this.<httpClient>5__1.GetStringAsync(this.url).GetAwaiter();
if (!taskAwaiter.get_IsCompleted())
{  
    //...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...