07 July 2009
Resultate aus Task Objekten ermitteln
Mit der Task Parallel Library hält die Klasse Task ins Framework Einzug. In der Beta 1 hat man die API zur CTP verändert, so das die Future Klasse nicht mehr vorhanden ist und diese Funktionalität über Task abgebildet wird. In einem kurzen Screencast auf Channel 9 zeige ich wie man die Klasse Task mit Rückgabewerten benutzt.
Eine Sache ist hierbei zu beachten. In der momentanen Visual Studio 2010 Beta 1 kommt Intellisense nicht ganz klar mit der Definition der übergebenen Werte in einer Lambda wenn der Typ nicht spezifiziert ist wie im folgenden Beispiel
( previousTask ) => { int result = previousTask.Result; }
erkennt Visual Studio nicht das das Objekt Task<T> benutzt wird, statt Task und demzufolge keine Result Eigenschaft anbietet. Man kann das explizit definieren dann funktioniert Intellisense auch sauber:
( Task<int> previousTask ) => { int result = previousTask.Result; }
Ich habe im Screencast zwar von einem Bug gesprochen, nach einigen Überlegungen bin ich mir gar nicht sicher ob es einer ist. Woran soll Intellisense denn die Verwendung der Variable erkennen?