我正在尝试使用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();
答案 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"")";
一起使用。)