103

Func<T>直接呼び出す場合と使用する場合の違いに興味がありInvoke()ます。違いはありますか?Invoke()とにかく、最初の構文糖衣と呼び出しは下にありますか?

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

対。

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

それとも、私は完全に間違った方向に進んでいますか?

4

2 に答える 2

138

まったく違いはありません。Invoke2 番目は、コンパイラによって提供される の省略形です。それらは同じ IL にコンパイルされます。

于 2013-04-30T21:34:41.490 に答える