在运行时评估存储为字符串的条件表达式的最佳方法是什么。
我正在使用 MVC3、.NET4、C#4。
所以假设解决方案是一种名为“Eval”的方法,那么:
if eval("User.Name.Length>0")
{return true;}
行为方式应与以下相同:
if (User.Name.Length>0)
{return true;}
因此,作为此解决方案的一部分,我还需要访问任何 inscope .NET 类型。
那么“Eval”的解决方案是什么?
谢谢。
PS 我已经发布了一个单独的问题,重点关注动态 LINQ 作为解决方案。但是我现在认为我的解决方案更简单,因此这个问题。
编辑。不要过多地阅读“用户”。它可以是任何物体。我对如何在运行时评估字符串表达式感兴趣,就好像它们是在编译时明确编写的一样。另一个例子可能是:
if eval("mycat.coatcolour=='ginger'")
{return true;}