我对Get
类型的方法MyType1
接受Func<MyType2, bool>
作为参数。
使用它的一个例子:
mytype1Instance.Get(x => x.Guid == guid));
我想创建方法Get
的存根实现,该实现检查传入的lambda表达式并确定guid
的值是什么。显然lambda可能是“任何东西”,但我很高兴存根对lambda做出假设,它试图匹配Guid
属性。
我该怎么做?我怀疑它涉及使用内置的Expression
类型?
答案 0 :(得分:2)
public void Get<T>(Expression<Func<T,bool>> expr)
{
// look at expr
}
答案 1 :(得分:2)
查看Typed Reflector,它是一个简单的单源文件组件,提供从强类型成员访问到相应MemberInfo实例的桥梁。
即使您可能无法使用它,它也应该让您对使用表达式可以做什么有所了解。