diff --git a/README.md b/README.md index 302bfd0..2089167 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,6 @@ -# Deconstruction +
MacroEnum\来定义。
+定义枚举结构封装将允许像列表一样访问这个枚举,或将枚举实例赋予,通过枚举封装器来操作枚举值。
+在新版中,枚举封装器可以使用单例写法访问,而不再需要手动声名保存实例了。
#### 方程宏
#### 事件宏
@@ -159,6 +163,53 @@ XericLibrary 部分由两个dll组成,一个是 Xeric Library,另一个是 X
#### 按键宏
#### 集合宏
#### 数学宏
+#### 消息库
+
+预设一些消息处理流程。
+
+* 全局业务分发器,消息入口Entry。
+
+ 特点是需要通过指定消息入口(RedirectReceiverMessage)和出口(RedirectReceiver)来中转消息。
+ 完成后消息发送时会被进行一次包装,将带有入口名称的内容一同发送;而在消息处理的另一端,也需要用相同的逻辑处理这个包,就能获得这个包来自哪,并自动定位到对应的预定义委托上进行处理。
+ 下面是一个接收示例:
+ ```
+ // 声名一个消息处理器委托
+ // 接收器形参可以是任何可以序列化的结构,或是无形参接收器。
+ public MacroMessage.ReceiverObjectCallableTarget对象。然后通过AddCallableFunction添加到全局字典中,随后可以通过TryEvocation或者Evocation调用。
+ 方法封装器默认可以搜索所有静态,实例,私有,公共的方法
+
+
#### 对象宏
#### PID宏
#### 对象池宏
@@ -175,7 +226,8 @@ XericLibrary 部分由两个dll组成,一个是 Xeric Library,另一个是 X
#### 平滑宏
#### 排序宏
-c#自带的排序很好用,但是选择何种排序模式是自动进行的,排序宏中提供了可以手动选择的排序算法。
+c#自带的排序很好用,但是选择何种排序模式是根据数据类型自动切换的。
+在这里,排序宏中提供了一些可以手动选择的排序算法。
注:没有猴子排序。
#### 文本宏
@@ -195,6 +247,24 @@ c#自带的排序很好用,但是选择何种排序模式是自动进行的,
TextBlockBuilder 是所有blocker的基类,使用它包裹所有文本将起到单纯拼接文本的作用;TextBlockBuilder 里的三个block的作用是使用相应的富文本标签包裹,根据标签的类型,包裹器会自动决定标签格式。
DelegateBlock的作用是通过委托来实时获取一个变量,示例中直接获取value的文本值,拼接到结果中。
TextBlockBuilder 可以不依靠如DelegateBlock这样的包裹器,可以直接将返回字符串类型的方法委托传入,blocker 会自动识别;前提是开启对应 blocker 里的compatibility兼容性检查,但这会带来额外的性能开销,如果没有特别的需求,建议还是使用DelegateBlock进行多态封装,这样也会更安全。
+
+ 在新的更新中,包裹器支持大括号写法,同时可以省略部分参数:
+ ```
+ _blockBuilder = new TextBlockBuilder()
+ {
+ new ColorBlock()
+ {
+ "重量"
+ },
+ new DelegateBlock(() => value.ToString()),
+ new SizeBlock(20)
+ {
+ "kg"
+ }
+ };
+ ```
+ 这里的作用与上面的示例完全一致,更新的包裹器中支持自动填入更多的默认值了,比如颜色默认为白色。
+
* 文本转换:自动值转换为文本。
* NumberToChinese:将数值转为中文大写。
* 沃格纳费舍尔拼写检查器:检查一对或多对文本是否相似,返回最相似的文本序列,及相似度。
@@ -313,7 +383,7 @@ TimeStamp用于隐式的,在极短时间内(小于1tick)的时间戳的名
### 基础使用
-数据库操作的指令被抽象到Order类了(我在注释里会称为解释器),比如sqlClient就是sqlcOrder,其中sqlc代表sqlclient。
+数据库操作的指令被抽象到Order类了(注释里会称为解释器),比如sqlClient就是sqlcOrder,其中sqlc代表sqlclient。
order类本质上是一个文本拼接器,为了方便管理,你可以使用对应类的order.GetOrder来获取池中的一条指令,比如:
```
var orderValues = SQLCHelper.GetOrder();
diff --git a/Runtime/XericLibrary.dll b/Runtime/XericLibrary.dll
index 64883a0..b7af012 100644
Binary files a/Runtime/XericLibrary.dll and b/Runtime/XericLibrary.dll differ