2

重複の可能性:
匿名メソッドに対してコンパイラが誤ったコードを生成した

なぜ次のコードが原因BadImageFormatExceptionですか?

public static void Main()
{
    var c = new Child();
    Console.WriteLine(c.Something());
}

public class Base<T>
{
    public virtual T Something()
    {
        return default(T);
    }
}

public class Child : Base<int>
{
    public override int Something()
    {
        //return base.Something(); //This one works well

        //Func<int> func = base.Something;
        //func(); //Works well too

        Func<int> func = () => base.Something();
        return func(); //BadImageFormatException
    }
}

BadImageFormatException: An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)

.NET 4.0。x64 マシンと x86 マシンの両方。

アップデート。MS からの応答を待っています。チケット #768801

4

0 に答える 0