首页 > 解决方案 > 使用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();

标签: c#flee

解决方案


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

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

将工作。(请注意与 . 一起使用的双引号@。)


推荐阅读