修复了条件表达式".xxx<bool> = true/false"执行了错误分支,优化了流程的运行。

This commit is contained in:
fengjiayi
2024-12-16 00:58:45 +08:00
parent 8d0258ebea
commit 0372e1fc23
8 changed files with 57 additions and 46 deletions

View File

@@ -317,12 +317,23 @@ namespace Serein.Library.Utils.SereinExpression
#region bool
else if (type == typeof(bool))
{
return new MemberConditionResolver<bool>
bool targetData = false;
if (targetObj is bool tmp)
{
//MemberPath = memberPath,
TargetObj = targetObj,
Op = (ValueTypeConditionResolver<bool>.Operator)ParseBoolOperator(operatorStr)
targetData = tmp;
}
else
{
targetObj = bool.Parse(targetObj.ToString());
}
return new BoolConditionResolver
{
//Value = bool.Parse(targetObj.ToString()),
Value = bool.Parse(valueStr),
Data = targetData,
Op = BoolConditionResolver.Operator.Is
};
}
#endregion
#region string