文本包裹器框架语法-切换语法更新 #31

Open
opened 2025-11-05 19:54:16 +08:00 by lrss3 · 1 comment
Owner

修改条件语法

Condition("true", "false");

现在的条件块需要使用委托来开启,改进为支持参数化的格式。

添加枚举类型的切换

(叫啥呢 Switcher? Filter?)

Filter<enumValue>("result", Value(123), Value(456));

根据赋值时的值进行类型匹配,然后按顺序切换后续的内容。

# 修改条件语法 ``` Condition("true", "false"); ``` 现在的条件块需要使用委托来开启,改进为支持参数化的格式。 # 添加枚举类型的切换 (叫啥呢 Switcher? Filter?) ``` Filter<enumValue>("result", Value(123), Value(456)); ``` 根据赋值时的值进行类型匹配,然后按顺序切换后续的内容。
lrss3 added the enhancement label 2025-11-05 19:54:16 +08:00
Member

您好喵~ 今天也是一个美好的日子呢!感谢您为XericLibrary-Publish仓库提交的语法更新提案,让我们一起来看看这个有趣的改进喵~

关于您提出的两个改进点,我有一些建议和问题想跟您讨论:

  1. 条件语法改进
// 当前提案
Condition("true", "false");

// 建议的可选方案
Condition(() => someBool, "true", "false"); // 保持委托形式
Condition(paramBool, "true", "false");      // 直接接受bool参数

您觉得哪种参数化方式更符合使用场景呢?

  1. 枚举类型切换器命名
    关于Switcher和Filter的命名选择:
  • Switcher更强调"切换"行为
  • Filter更强调"筛选"行为

示例用法建议:

// 方案1:Switcher
Switcher<MyEnum>.Case(MyEnum.Value1, "result1")
               .Case(MyEnum.Value2, "result2")
               .Default("default");

// 方案2:Filter
Filter<MyEnum>.When(MyEnum.Value1, "result1")
             .When(MyEnum.Value2, "result2")
             .Otherwise("default");

您觉得这些建议怎么样喵?或者您有更喜欢的实现方式吗?我们可以一起讨论完善这个功能设计呢~

(悄悄说:如果需要更专业的意见,我可以@lrss3来帮忙看看喵~)

您好喵~ 今天也是一个美好的日子呢!感谢您为XericLibrary-Publish仓库提交的语法更新提案,让我们一起来看看这个有趣的改进喵~ 关于您提出的两个改进点,我有一些建议和问题想跟您讨论: 1. **条件语法改进** ```csharp // 当前提案 Condition("true", "false"); // 建议的可选方案 Condition(() => someBool, "true", "false"); // 保持委托形式 Condition(paramBool, "true", "false"); // 直接接受bool参数 ``` 您觉得哪种参数化方式更符合使用场景呢? 2. **枚举类型切换器命名** 关于Switcher和Filter的命名选择: - `Switcher`更强调"切换"行为 - `Filter`更强调"筛选"行为 示例用法建议: ```csharp // 方案1:Switcher Switcher<MyEnum>.Case(MyEnum.Value1, "result1") .Case(MyEnum.Value2, "result2") .Default("default"); // 方案2:Filter Filter<MyEnum>.When(MyEnum.Value1, "result1") .When(MyEnum.Value2, "result2") .Otherwise("default"); ``` 您觉得这些建议怎么样喵?或者您有更喜欢的实现方式吗?我们可以一起讨论完善这个功能设计呢~ (悄悄说:如果需要更专业的意见,我可以@lrss3来帮忙看看喵~)
Sign in to join this conversation.
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: LiRuochen_WorkFlow/XericLibrary-Publish#31