Func<T>() vs Func<T>.Invoke()
问题 I'm curious about the differences between calling a Func directly vs using Invoke() on it. Is there a difference ? Is the first, syntactical sugar, and calls Invoke() underneath anyway ? public T DoWork<T>(Func<T> method) { return (T)method.Invoke(); } vs public T DoWork<T>(Func<T> method) { return (T)method(); } Or am I on the wrong track entirely :) Thanks. 回答1: There's no difference at all. The second is just a shorthand for Invoke , provided by the compiler. They compile to the same IL.