简体   繁体   English

C#反编译代码错误(“无效的表达式术语”)

[英]C# Decompiled Code Error (“Invalid expression term”)

I have decompiled a .NET application and the code it gives me back it's wrong, and i dont know how to replace it. 我已经反编译了.NET应用程序,并且它给我返回的代码是错误的,而且我不知道如何替换它。 These are some of the wrong lines: 这些是一些错误的行:

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

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

The error it gives me back is "Invalid expression term 'ref'." 它带给我的错误是“无效的表达式术语'ref'。” Can anyone help me out? 谁能帮我吗? Thanks 谢谢

It's check if task (task is invoked before condition) has completed already. 它检查任务(在条件之前调用任务)是否已经完成。 Eg 例如

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

is equal 是平等的

this.<httpClient>5__1 = new HttpClient();
taskAwaiter = this.<httpClient>5__1.GetStringAsync(this.url).GetAwaiter();
if (!taskAwaiter.get_IsCompleted())
{  
    //...
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM