我今天在 OrderBy 遇到的奇怪情况:
Func<SomeClass, int> orderByNumber =
currentClass =>
currentClass.SomeNumber;
然后:
someCollection.OrderBy(orderByNumber);
这很好,但我打算创建一个方法,因为它可能在 orderBy 以外的其他地方可用。
private int ReturnNumber(SomeClass currentClass)
{
return currentClass.SomeNumber;
}
现在,当我尝试将其插入 OrderBy 时:
someCollection.OrderBy(ReturnNumber);
如果我使用 Func,它就不能像它那样推断类型。在我看来,它们应该是相同的,因为方法本身就像 Func 一样是“强类型”的。
旁注:我意识到我可以做到这一点:
Func<SomeClass, int> orderByNumber = ReturnNumber;