我正在查看反射器中的 CombineSelector。
有人可以解释它究竟做了什么。
首先,请记住,它是一种私有方法,供内部使用。你不仅不应该使用它,而且不会遇到很多麻烦,你不能使用它。
简单地说,它接受两个委托,并创建一个新函数,该函数接受一个值,并使用参数值调用第一个委托,然后使用第一个的返回值调用第二个委托。
因此:
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();
}