我发现自己在我的C#应用程序中越来越多地使用lambda表达式。最常见的情况是使用表达式< Func <对象> >消除对属性名称的魔术字符串引用。例如,我可以有一个方法,例如:抽象lambda表达式的建议
public void SomeFunction(Expression<Func<Object>> expression)
{ ... }
我可以调用该方法为:
SomeFunction(() => SomeProperty);
处理该表达式的方法中的逻辑是在每个实现几乎相同迄今其让我考虑一种方法将这个提取到可重用组件中。有没有人做过这个?我应该注意的任何潜在的陷阱?