我试图编写一个具有 LINQ 查询的方法。
所以这个方法:
DoSomething(Operator operator, string name)
{
// if operator is ==
// use == as comparison
// if operator is !=
// use != as comparison
// pseudo query
var result = from rec in collection
where rec.name operator name
select rec;
}
我知道这可以使用委托和 Func 和 Action 来完成,这里的解释非常优雅。
但我想知道的是为什么一个方法只需要一个类型?为什么 CLR 不允许将运算符作为参数传递给方法?设计背后的想法是什么?