计算字符串条件的最佳方法,如"User.Name.Length>0"是真还是假

本文关键字:quot Length 字符串 Name User 方法 条件 计算 最佳 | 更新日期: 2023-09-27 18:06:07

在运行时计算以字符串形式存储的条件表达式的最佳方法是什么?

我用的是mvc, . net, c# 4。

那么假设解决方案是一个名为Eval的方法,那么:

if eval("User.Name.Length>0")
{return true;}

的行为应该与

相同:
if (User.Name.Length>0)
{return true;}

所以我还需要访问任何范围内。net类型作为这个解决方案的一部分。

那么"Eval"的解决方案是什么呢?

谢谢。

p。我已经发布了一个单独的问题,专注于动态LINQ作为解决方案。然而,我现在认为我的解决方案更简单,因此出现了这个问题。

编辑。不要对"用户"做过多解读。它可以是任何物体。我对如何在运行时评估字符串表达式感兴趣,就好像它们是在编译时显式编写的一样。另一个例子可能是:

if eval("mycat.coatcolour=='ginger'")
{return true;}

计算字符串条件的最佳方法,如"User.Name.Length>0"是真还是假

您必须实现自己的解析器并使用reflection/FastMember来导航路径或寻找脚本解决方案,如CS-Script。