爲什麼C#編譯器在指定的例子中推斷T爲int?C#泛型委託類型推斷
void Main()
{
int a = 0;
Parse("1", x => a = x);
// Compiler error:
// Cannot convert expression type 'int' to return type 'T'
}
public void Parse<T>(string x, Func<T, T> setter)
{
var parsed = ....
setter(parsed);
}
你想做什麼? – gdoron 2012-02-17 09:10:23
我也無法推斷。嘗試'解析(...)' –
2012-02-17 09:12:25
解析方法的語法糖。我可以用表情來做,但是我必須使用反思,這是不行的。 – m0sa 2012-02-17 09:13:10