1

我正在查看反射器中的 CombineSelector。

有人可以解释它究竟做了什么。

4

1 回答 1

0

首先,请记住,它是一种私有方法,供内部使用。你不仅不应该使用它,而且不会遇到很多麻烦,你不能使用它。

简单地说,它接受两个委托,并创建一个新函数,该函数接受一个值,并使用参数值调用第一个委托,然后使用第一个的返回值调用第二个委托。

因此:

var func = Enumerable.CombineSelector<int, double, string>(x=> x*100.0, 
                                                           y=> y.ToString());

大致与以下内容相同:

var func = x=> (x*100.0).ToString();

这与以下内容大致相同:

string func(int x) { double y = x * 100.0
                     return y.ToString();
                   }
于 2012-12-10T16:23:06.280 回答