public async Task GetWebStuff()
{
dynamic ret = "";
WebClient wc = new WebClient();
wc.DownloadStringCompleted += async (s, a) =>
{
ret = await Newtonsoft.Json.JsonConvert.DeserializeObject(a.Result.ToString());
};
wc.DownloadString("http://www.MyJson.com");
return ret;
}
< /code>
Im obigen Beispiel wird der Rückgabewert von RET auf den Anrufer festgelegt, der ein dynamisches Objekt des Deserialisierten JSON ist. < /p>
Wie passiert das jedoch, wenn der Compiler das abgeschlossene Ereignis -Lambda in seine eigene Methode einnimmt? Woher weiß es, den Ret -Wert festzulegen? public async Task GetWebStuff()
{
dynamic ret = "";
WebClient wc = new WebClient();
wc.DownloadStringCompleted += wc_DownloadStringCompleted;
wc.DownloadString("google.com");
return ret;
}
void wc_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
ret = await Newtonsoft.Json.JsonConvert.DeserializeObject(e.Result.ToString());
}
Mein Verständnis dafür, wie der Compiler mit Lambdas umgeht, ist begrenzt. >
Wenn dies der Fall ist, wie greift es dann zu lokalen Variablen?[code] public async Task GetWebStuff() { dynamic ret = "";
WebClient wc = new WebClient();
wc.DownloadStringCompleted += async (s, a) => { ret = await Newtonsoft.Json.JsonConvert.DeserializeObject(a.Result.ToString()); };
wc.DownloadString("http://www.MyJson.com");
return ret; } < /code>
Im obigen Beispiel wird der Rückgabewert von RET auf den Anrufer festgelegt, der ein dynamisches Objekt des Deserialisierten JSON ist. < /p>
Wie passiert das jedoch, wenn der Compiler das abgeschlossene Ereignis -Lambda in seine eigene Methode einnimmt? Woher weiß es, den Ret -Wert festzulegen? public async Task GetWebStuff() { dynamic ret = "";
Ich versuche zu verstehen, wie Java mit der Speicherzuweisung für Lambdas umgeht und ob es möglich ist, sie in einem GC-freien Stil für latenzkritische Anwendungen zu verwenden. Mein Ziel ist es...
Ich musste Typen in einem Tupel nach Ausrichtung sortieren, und als Ergebnis möchte ich nur einen neuen Tupel -Typ erhalten.
schrieb eine Implementierung. In einem Fall (automatisch Tuple) ) GCC und...
Ich arbeite an einem Dekorateur. Um einen Dupliziercode zu vermeiden, erbe ich einen übergeordneten Dekorateur, der eine nichtlokale Variable definiert hat. Ich bin nicht in der Lage, das genaue...