これが機能する理由について私は混乱しています:
Action myAction1 = () => myIntFunc();
...
private Int32 myIntFunc() {
return(4);
}
アクションはパラメーターを返さない関数を表すため、コンパイラーはこれを許可しないと思いますが、myIntFuncは明らかにパラメーターを返します。
さらなる証拠として、これは機能しないことに注意してください。
Action myAction2 = myIntFunc;
つまり、ラムダ構文を使用すると、回避できないはずの何かを回避できるようになります。アクションとラムダがどのように連携するかと関係があるのを見落としていると思います...??