tresult parameter generic examples ejemplo c# invoke func

parameter - generic delegates in c#



Func<T>() vs Func<T>.Invoke() (2)

Invoke funciona bien con el nuevo operador de propagación nula C # 6, ahora u puede hacer

T result = method?.Invoke();

en lugar de

T result = method != null ? method() : null;

Tengo curiosidad acerca de las diferencias entre llamar a un Func directamente vs usar Invoke () en él. Hay una diferencia ? ¿Está el primer azúcar sintáctico y se llama Invocar () debajo de todos modos?

public T DoWork<T>(Func<T> method) { return (T)method.Invoke(); }

vs

public T DoWork<T>(Func<T> method) { return (T)method(); }

O estoy en el camino equivocado por completo :) Gracias.


No hay diferencia en absoluto. El segundo es solo una abreviatura de Invoke , proporcionada por el compilador. Se compilan a la misma IL.