问题描述
目前我们正在开发一个带有表达式树的项目,但我们在 NUnit 测试期间发现了一个小瓶颈。
每当我们在表达式中直接传递一个值时,它都会按预期进行解析(请参阅下面代码示例中的 Expression_Success())。但是每当我们传递一个包含该值的变量时,我们都会得到一个意想不到的结果(参见下面代码示例中的 Expression_Fail())。
[Test]
public void Expression_Fail()
{
var username = "test";
Where(x => x == username);
// Result Where expression: {x => (x == value(ORMNUnit.ORMCollectionTests+<>c__displayClass5_0).username)}
// Why is not "test" shown here?
}
[Test]
public void Expression_Success()
{
Where(x => x == "test");
// Result Where expression: {x => (x == "test")}
// The value "test" is shown as expected.
}
public void Where(Expression<Func<object,bool>> expression)
{
}
那么我们的问题:为什么不直接传递值?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)