C#, гвозди

Кратко – type inference my ass.

Длинно


static class Program
{
public static TRes Eval(Func func, T0 a0, T1 a1)
{
return func(a0, a1);
}
public static int Add(int a, int b)
{
return a + b;
}
static void Main()
{
var c = Eval((int x, int y) => (x + y), 1, 2);
var d = Eval(Program.Add, 1, 2); // CS0411 compilation error here
}
}

Комментарии здесь.

  • http://www.creative-assembly.com.au/ Loyso

    Работает в Beta1. В Beta2 наверное тоже.

  • http://www.creative-assembly.com.au/ Loyso

    Ага, в Beta2 тоже понимает. Видимо, чтобы сделать variance и blame and contracts им пришлось все пофиксить.

  • look4awhile

    и это большой плюс. мне будет легче