mirror of
http://47.107.252.169:3000/Roguelite-Game-Developing-Team/Gen_Hack-and-Slash-Roguelite.git
synced 2025-11-20 08:37:13 +08:00
(client) feat:健康给予,路径优化,结算界面,商店界面 (#60)
Co-authored-by: m0_75251201 <m0_75251201@noreply.gitcode.com> Reviewed-on: http://47.107.252.169:3000/Roguelite-Game-Developing-Team/Gen_Hack-and-Slash-Roguelite/pulls/60
This commit is contained in:
@@ -7,23 +7,22 @@ namespace Parsing
|
||||
public static class Resolver
|
||||
{
|
||||
/// <summary>
|
||||
/// 将字符串表达式解析为一个谓词函数,该函数可以用于筛选实体对象。
|
||||
/// 将字符串表达式解析为一个谓词函数,该函数可以用于筛选实体对象。
|
||||
/// </summary>
|
||||
/// <param name="expression">表示条件的字符串表达式。格式示例:"entity.Id > 10" 或 "entity.Name == 'John'"。</param>
|
||||
/// <returns>返回一个 Func<Entity.Entity, bool> 类型的委托,表示解析后的谓词函数。</returns>
|
||||
/// <exception cref="FormatException">当输入表达式的格式不正确时抛出此异常。</exception>
|
||||
/// <exception cref="NotSupportedException">当表达式中包含不支持的操作符或数据类型时抛出此异常。</exception>
|
||||
/// <remarks>
|
||||
/// 表达式的格式必须符合以下规则:
|
||||
/// - 表达式由三部分组成:属性路径、操作符和值,用空格分隔。
|
||||
/// - 属性路径格式为 "entity.PropertyName",其中 PropertyName 是实体类中的一个公共属性或字段。
|
||||
/// - 操作符可以是以下之一:">", "<", ">=", "<=", "==", "!="。
|
||||
/// - 值的类型必须与属性的类型匹配,并且支持以下类型:string, int, long, float, double, decimal, bool, DateTime, Guid 和枚举类型。
|
||||
///
|
||||
/// 注意事项:
|
||||
/// - 字符串值需要用单引号或双引号括起来,例如 'John' 或 "John"。
|
||||
/// - 对于可为空类型(Nullable),会自动处理其底层类型的转换。
|
||||
/// - 字符串比较默认使用不区分大小写的 Equals 方法。
|
||||
/// 表达式的格式必须符合以下规则:
|
||||
/// - 表达式由三部分组成:属性路径、操作符和值,用空格分隔。
|
||||
/// - 属性路径格式为 "entity.PropertyName",其中 PropertyName 是实体类中的一个公共属性或字段。
|
||||
/// - 操作符可以是以下之一:">", "<", ">=", "<=", "==", "!="。
|
||||
/// - 值的类型必须与属性的类型匹配,并且支持以下类型:string, int, long, float, double, decimal, bool, DateTime, Guid 和枚举类型。
|
||||
/// 注意事项:
|
||||
/// - 字符串值需要用单引号或双引号括起来,例如 'John' 或 "John"。
|
||||
/// - 对于可为空类型(Nullable),会自动处理其底层类型的转换。
|
||||
/// - 字符串比较默认使用不区分大小写的 Equals 方法。
|
||||
/// </remarks>
|
||||
public static Func<Entity.Entity, bool> ParsePredicate(string expression)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user