C# にて、以下のように、delegate を変数を介さずに直接実行したいです。

int n = delegate()
{
    return 10;
}();

実際には上記コードは構文エラーになるので、以下のように変数を絡める必要があります。

Func<int> f = delegate()
{
    return 10;
};
int n = f();

変数を介さずに呼ぶことができないと困る、というわけではありませんが、何かしら直接呼べる方法があると少しだけ嬉しいです。他言語の例を挙げると、JavaScript等では前述のコードに似た記述ができますよね。何か良い解決策または代案ありますでしょうか。