使用flee使用字符串文字比较

时间:2018-05-29 08:36:51

标签: c# flee

我正在尝试使用Flee进行字符串文字检查,但我无法使其工作,当我指定字符串值时,我试图检查它是否尝试使用变量。这是代码:

var context = new ExpressionContext();
context.Variables.DefineVariable("User", typeof(User));

const string exp = @"(User.UserName = JWilly)";

var expression = context.CompileDynamic(exp);

var user = new User
{
    Id = 1,
    UserName = "JWilly",
    Active = false, 
};

context.Variables["User"] = user;

var result = expression.Evaluate();

1 个答案:

答案 0 :(得分:0)

字符串文字即使嵌入另一个字符串文字中也是字符串文字。因此:

┌─────┬─────┬─────┬─────┬─────┬─────┐
│  1  │  2  │  3  │  4  │  5  │  6  │
├─────┼─────┼─────┼─────┼─────┼─────┤
│ 101 │ 201 │ 301 │ 401 │ 501 │ 601 │
│ 102 │ 202 │ 302 │ 402 │ 502 │ 602 │
└─────┴─────┴─────┴─────┴─────┴─────┘

会奏效。 (请注意双引号与 const string exp = @"(User.UserName = ""JWilly"")"; 一起使用。)