Hi CSharper,
ich bin in einem MSDN Programmbeispiel über folgendes gestoßen:
List<Uri> subscribers = RegistrationService.GetSubscribers();
ThreadPool.QueueUserWorkItem((unused) => notifier.SendTileNotification(subscribers, "PushNotificationsToken", "/Images/" + weatherType + ".png", temperature, location, OnMessageSent));
Kann jemand von euch erklären, was diese Stück Code macht (der Teil in den Klammern 😉)
Danke für eure Hilfe,
Mazo
das ist eine schreibweise für inline callbacks (oder wie das genau heißt, kenn noch closures)
"früher" hat man das so geschrieben
ThreadPool.QueueUserWorkItem(delegate(object unused) { notifier.SendTileNotification(subscribers, "PushNotificationsToken", "/Images/" + weatherType + ".png", temperature, location, OnMessageSent)});
Hallo Mazo,
das ist ein Lambdaausdruck. Siehe siehe [Artikel] Delegaten, anonyme Methoden, Lambda-Ausdrücke & Co..
Siehe auch Verständnisfrage zu Quellcode: Load += (s, e) => { ... };
herbivore