Wyrażenia lambda dla delegatów generycznych

Wyrażenia lambda dla delegatów generycznych
M8
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 59
0

Mam problem z wywołaniem tego:

Kopiuj
public static Task<TResult> Run<TResult>(
	Func<Task<TResult>> function
) 

za chiny nie wiem jak to działa i jak to wywołać w wyrażeniu lambda? Bez generyczności idzie to tak:

Kopiuj
Task.Run( () => { Task.Delay(10000) });

Tyle, że w drugim przypadku przyjmuje niegeneryczny delegat jako parametr, jak więc wywołać to z generycznym?

Azarien
  • Rejestracja: dni
  • Ostatnio: dni
0

Ale w czym problem?

Kopiuj
var t = Task.Run(() => 42);

Oczywiście t jest w tym momencie typu Task<int>.

M8
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 59
0

@Azarien ja chciałem wiedzieć jak wywołać z lambdą te wersję metody: http://msdn.microsoft.com/pl-pl/library/hh194918.aspx

Azarien
  • Rejestracja: dni
  • Ostatnio: dni
2
Kopiuj
var t = Task.Run(async () => 42);

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.