c# - 表达式树在哪些情况下很有用?

标签 c# expression

我完全理解表达式树的概念,但我很难找到它们有用的情况。是否有可以应用表达式树的特定实例?或者它只是作为代码的传输机制有用吗?我觉得我在这里遗漏了一些东西。谢谢!

最佳答案

一些单元测试模拟框架使用表达式树来设置强类型的期望/验证。即:

myMock.Verify(m => m.SomeMethod(someObject)); // tells moq to verify that the method
                                              // SomeMethod was called with 
                                              // someObject as the argument

这里,表达式从未真正执行过,但表达式本身保存了有趣的信息。没有表达式树的替代方案是

myMock.Verify("SomeMethod", someObject) // we've lost the strong typing

关于c# - 表达式树在哪些情况下很有用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27726/

相关文章:

c# - DateTime.AddDays 与 Calendar.AddDays

javascript - 限制为所有字符还是所有数字?

regex - Bash RegEx 检查用户输入的 float

c# - 使用 .Net 进行 RSA 签名并使用 OpenSSL 命令进行验证

c# - 从另一个子查询获取列值

c#通用转换器

python - 这两个正则表达式之间的区别

c# - Microsoft.Expression.Interactions 版本 4.0.0.0 运行时版本 v4.0.30319 在哪里下载?

c# - 带有 <bool> 和 System.Nullable<bool> 的 Lambda 表达式

c++ - 复合表达式与表达式与子表达式