浏览代码

AppStart启动器

黄宗银 1 年之前
父节点
当前提交
6eee94f476

+ 17 - 0
AppStart/00-删除右键菜单.bat

@@ -0,0 +1,17 @@
+@rem ================================================================================================
+@rem 恅璃衵瑩粕等 HKCU\Software\Classes\*\shell\xxx
+@reg delete HKCU\Software\Classes\*\shell\Csv2Pb /f
+@rem ================================================================================================
+
+@rem ================================================================================================
+@rem 醴翹衵瑩粕等 HKCU\Software\Classes\Directory\shell\xxx
+@reg delete HKCU\Software\Classes\Directory\shell\Csv2Pb /f
+@rem ================================================================================================
+
+@rem ================================================================================================
+@rem 諾啞揭衵瑩粕等 HKCU\Software\Classes\directory\Background\shell\xxx
+@reg delete HKCU\Software\Classes\directory\Background\shell\Csv2Pb /f
+@rem ================================================================================================
+
+@echo end
+@pause

+ 29 - 0
AppStart/00-添加右键菜单.bat

@@ -0,0 +1,29 @@
+@rem ================================================================================================
+@rem 文件右键菜单 HKCU\Software\Classes\*\shell\xxx
+@reg add HKCU\Software\Classes\*\shell\Csv2Pb /ve /d Csv2Pb
+@rem 图标
+@rem reg add HKCU\Software\Classes\*\shell\Csv2Pb /v Icon /d "%~dp0\csv2pb.exe"
+@rem %1 传递的是文件完整路径
+@reg add HKCU\Software\Classes\*\shell\Csv2Pb\command /ve /d "\"%~dp0\csv2pb.exe\" trans  \"%%1\""
+@rem ================================================================================================
+
+@rem ================================================================================================
+@rem 目录右键菜单 HKCU\Software\Classes\Directory\shell\xxx
+@reg add HKCU\Software\Classes\Directory\shell\Csv2Pb /ve /d Csv2Pb
+@rem 图标
+@rem reg add HKCU\Software\Classes\Directory\shell\Csv2Pb /v Icon /d "%~dp0\csv2pb.exe"
+@rem %1 传递的是目录路径(不带\)
+@reg add HKCU\Software\Classes\Directory\shell\Csv2Pb\command /ve /d "\"%~dp0\csv2pb.exe\" trans \"%%1\""
+@rem ================================================================================================
+
+@rem ================================================================================================
+@rem 空白处右键菜单 HKCU\Software\Classes\directory\Background\shell\xxx
+@reg add HKCU\Software\Classes\directory\Background\shell\Csv2Pb /ve /d Csv2Pb
+@rem 图标
+@rem reg add HKCU\Software\Classes\directory\Background\shell\Csv2Pb /v Icon /d "%~dp0\csv2pb.exe"
+@rem %V 传递的是目录路径(不带\)
+@reg add HKCU\Software\Classes\directory\Background\shell\Csv2Pb\command /ve /d "\"%~dp0\csv2pb.exe\" trans \"%%V\""
+@rem ================================================================================================
+
+@echo end
+@pause

二进制
AppStart/AppStart.exe


二进制
AppStart/AppStart.pdb


二进制
AppStart/Apq.pdb


+ 5247 - 0
AppStart/Apq.xml

@@ -0,0 +1,5247 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Apq</name>
+    </assembly>
+    <members>
+        <member name="T:Apq.ApqMath.Bytes8">
+            <summary>
+            8字节数值
+            </summary>
+        </member>
+        <member name="M:Apq.ApqMath.Ext_MathRange.CopyRangeList``1(System.Collections.Generic.IEnumerable{Apq.ApqMath.MathRange{``0}})">
+            <summary>
+            复制列表(及其中每一项)
+            </summary>
+        </member>
+        <member name="M:Apq.ApqMath.Ext_MathRange.ExcludeValues``1(System.Collections.Generic.IEnumerable{Apq.ApqMath.MathRange{``0}},``0[])">
+            <summary>
+            从范围列表中排除一个或多个值
+            </summary>
+        </member>
+        <member name="T:Apq.ApqMath.MathRange`1">
+            <summary>
+            数值范围。默认:[Min, Max)
+            </summary>
+        </member>
+        <member name="P:Apq.ApqMath.MathRange`1.Is最多一个值">
+            <summary>
+            范围内是否最多一个值(即:最多包含边界或边界都不包含)
+            </summary>
+        </member>
+        <member name="M:Apq.ApqMath.MathRange`1.ExcludeValue(`0)">
+            <summary>
+            从范围中排除一个值,最多返回两个新的范围
+            </summary>
+        </member>
+        <member name="M:Apq.ApqMath.MathRange`1.ExcludeValues(System.Collections.Generic.IEnumerable{`0})">
+            <summary>
+            从范围中排除多个值,返回新的范围列表
+            </summary>
+        </member>
+        <member name="M:Apq.ApqMath.RandomNum.RandomInt(System.Int32,System.Int32)">
+            <summary>
+            返回[Min,Max)范围内的随机整数
+            </summary>
+            <param name="Min">最小值</param>
+            <param name="Max">不包含该最大值</param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.ApqMath.RandomNum.RandomLong(System.Int64,System.Int64)">
+            <summary>
+            返回[Min,Max)范围内的随机整数
+            </summary>
+            <param name="Min">最小值</param>
+            <param name="Max">不包含该最大值</param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.ApqMath.RandomNum.RandomFloat(System.Single,System.Single)">
+            <summary>
+            返回[Min,Max)范围内的随机浮点数
+            </summary>
+            <param name="Min">最小值</param>
+            <param name="Max">不包含该最大值</param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.ApqMath.RandomNum.RandomDouble(System.Double,System.Double)">
+            <summary>
+            返回[Min,Max)范围内的随机浮点数
+            </summary>
+            <param name="Min">最小值</param>
+            <param name="Max">不包含该最大值</param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.ApqMath.RandomNum.RandomDecimal(System.Decimal,System.Decimal)">
+            <summary>
+            返回[Min,Max)范围内的随机decimal值
+            </summary>
+            <param name="Min">最小值</param>
+            <param name="Max">不包含该最大值</param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.ApqMath.RandomNum.RandomInt(Apq.ApqMath.MathRange{System.Int32})">
+            <summary>
+            返回范围内的随机整数
+            </summary>
+        </member>
+        <member name="M:Apq.ApqMath.RandomNum.RandomLong(Apq.ApqMath.MathRange{System.Int64})">
+            <summary>
+            返回范围内的随机整数
+            </summary>
+        </member>
+        <member name="M:Apq.ApqMath.RandomNum.RandomFloat(Apq.ApqMath.MathRange{System.Single})">
+            <summary>
+            返回范围内的随机浮点数
+            </summary>
+        </member>
+        <member name="M:Apq.ApqMath.RandomNum.RandomDouble(Apq.ApqMath.MathRange{System.Double})">
+            <summary>
+            返回范围内的随机浮点数
+            </summary>
+        </member>
+        <member name="M:Apq.ApqMath.RandomNum.RandomDecimal(Apq.ApqMath.MathRange{System.Decimal})">
+            <summary>
+            返回范围内的随机decimal值
+            </summary>
+        </member>
+        <member name="M:Apq.ApqMath.RandomNum.RandomInt(Apq.ApqMath.MathRange{System.Int32},System.Collections.Generic.IEnumerable{System.Int32})">
+            <summary>
+            返回范围内的随机整数(排除值之后)
+            </summary>
+        </member>
+        <member name="M:Apq.ApqMath.RandomNum.RandomLong(Apq.ApqMath.MathRange{System.Int64},System.Collections.Generic.IEnumerable{System.Int64})">
+            <summary>
+            返回范围内的随机整数(排除值之后)
+            </summary>
+        </member>
+        <member name="M:Apq.ApqMath.RandomNum.RandomFloat(Apq.ApqMath.MathRange{System.Single},System.Collections.Generic.IEnumerable{System.Single})">
+            <summary>
+            返回范围内的随机浮点数(排除值之后)
+            </summary>
+        </member>
+        <member name="M:Apq.ApqMath.RandomNum.RandomDouble(Apq.ApqMath.MathRange{System.Double},System.Collections.Generic.IEnumerable{System.Double})">
+            <summary>
+            返回范围内的随机浮点数(排除值之后)
+            </summary>
+        </member>
+        <member name="M:Apq.ApqMath.RandomNum.RandomDecimal(Apq.ApqMath.MathRange{System.Decimal},System.Collections.Generic.IEnumerable{System.Decimal})">
+            <summary>
+            返回范围内的随机decimal值(排除值之后)
+            </summary>
+        </member>
+        <member name="T:Apq.ApqMath.RandomWithWeighting`1">
+            <summary>
+            加权随机算法
+            </summary>
+        </member>
+        <member name="M:Apq.ApqMath.RandomWithWeighting`1.GenList(System.Collections.Generic.IList{`0},System.Collections.Generic.IList{System.Int32},System.Int32)">
+            <summary>
+            按对应位置生成加权随机范围
+            </summary>
+        </member>
+        <member name="M:Apq.ApqMath.RandomWithWeighting`1.GetOne(System.Collections.Generic.IEnumerable{Apq.ApqMath.WeightingItem{`0}},System.Func{Apq.ApqMath.WeightingItem{`0},System.Boolean})">
+            <summary>
+            按权重随机取一条
+            </summary>
+            <param name="predicate">随机的范围。</param>
+        </member>
+        <member name="M:Apq.ApqMath.RandomWithWeighting`1.GetMulti(System.Collections.Generic.IEnumerable{Apq.ApqMath.WeightingItem{`0}},System.Int32,System.Func{Apq.ApqMath.WeightingItem{`0},System.Boolean})">
+            <summary>
+            按权重随机取多条
+            </summary>
+            <param name="count">随机结果需要多少条</param>
+            <param name="predicate">每次随机的范围。可通过该参数使产生的随机结果中没有重复项</param>
+            <remarks>如果范围内已无法随机出结果,就会停止。因此不一定能返回指定的条数</remarks>
+        </member>
+        <member name="T:Apq.ApqMath.WeightingItem">
+            <summary>
+            加权项
+            </summary>
+        </member>
+        <member name="P:Apq.ApqMath.WeightingItem.Weighting">
+            <summary>
+            权重
+            </summary>
+        </member>
+        <member name="P:Apq.ApqMath.WeightingItem.GotTimes">
+            <summary>
+            已随机到的次数
+            </summary>
+        </member>
+        <member name="T:Apq.ApqMath.WeightingItem`1">
+            <summary>
+            加权项
+            </summary>
+            <typeparam name="T">该加权项代表的实例的类型</typeparam>
+        </member>
+        <member name="P:Apq.ApqMath.WeightingItem`1.Value">
+            <summary>
+            代表的实例项
+            </summary>
+        </member>
+        <member name="M:Apq.AssemblyLoadContextHelper.SetProbeDirs(System.Runtime.Loader.AssemblyLoadContext,System.String)">
+            <summary>
+            设置探测目录:加载dll时查找哪些文件夹
+            </summary>
+            <param name="probeDirs">分号分隔(;)</param>
+        </member>
+        <member name="T:Apq.Cast">
+            <summary>
+            通用类型转换。
+            </summary>
+        </member>
+        <member name="M:Apq.Cast.TryChangeType``1(System.Object)">
+            <summary>
+            通用类型转换,失败时返回 default(T)
+            </summary>
+            <typeparam name="T">输出类型</typeparam>
+            <param name="obj">原始对象</param>
+        </member>
+        <member name="M:Apq.Cast.TryChangeType``1(System.Object,``0)">
+            <summary>
+            通用类型转换,失败时返回 fValue
+            </summary>
+            <typeparam name="T">输出类型</typeparam>
+            <param name="obj">原始对象</param>
+            <param name="fValue">转换失败时返回的值</param>
+        </member>
+        <member name="M:Apq.Cast.TryChangeType(System.Object,System.Type,System.Object)">
+            <summary>
+            通用类型转换,失败时返回失败值。注意:泛型只支持一个形参,主要是为了Nullable&lt;T&gt;。
+            </summary>
+            <param name="obj">原始对象</param>
+            <param name="type">输出类型</param>
+            <param name="fValue">失败值(匹配优先级比上面的泛型方法低,因此不能加参数默认值)</param>
+        </member>
+        <member name="M:Apq.Cast.ChangeType``1(System.Object)">
+            <summary>
+            通用类型转换,失败时返回 default(T)
+            </summary>
+            <typeparam name="T">输出类型</typeparam>
+            <param name="obj">原始对象</param>
+        </member>
+        <member name="M:Apq.Cast.ChangeType``1(System.Object,``0)">
+            <summary>
+            通用类型转换,失败时返回 fValue
+            </summary>
+            <typeparam name="T">输出类型</typeparam>
+            <param name="obj">原始对象</param>
+            <param name="fValue">转换失败时返回的值</param>
+        </member>
+        <member name="M:Apq.Cast.ChangeType(System.Object,System.Type,System.Object)">
+            <summary>
+            通用类型转换,失败时返回失败值。注意:泛型只支持一个形参,主要是为了Nullable&lt;T&gt;。
+            </summary>
+            <param name="obj">原始对象</param>
+            <param name="type">输出类型</param>
+            <param name="fValue">失败值(匹配优先级比上面的泛型方法低,因此不能加参数默认值)</param>
+            <returns>转换结果和是否转换成功</returns>
+            <remarks>http://www.cnblogs.com/youring2/archive/2012/07/26/2610035.html</remarks>
+        </member>
+        <member name="M:Apq.Cast.ToExcelObject(System.Object)">
+            <summary>
+            任意值转换到 Excel 能接受的值
+            </summary>
+        </member>
+        <member name="M:Apq.Cast.BytesToHexString(System.Collections.Generic.IEnumerable{System.Byte})">
+            <summary>
+            将字节串转换为16进制字符串
+            </summary>
+        </member>
+        <member name="M:Apq.Cast.HexStringToBytes(System.String)">
+            <summary>
+            将16进制字符串转换为字节串
+            </summary>
+        </member>
+        <member name="M:Apq.Cast.HexStringToBytesList(System.String)">
+            <summary>
+            将16进制字符串转换为字节串
+            </summary>
+        </member>
+        <member name="T:Apq.Char">
+            <summary>
+            Apq.Char
+            </summary>
+        </member>
+        <member name="M:Apq.Char.Random(System.Char[])">
+            <summary>
+            获取随机字符
+            </summary>
+            <param name="All">字符集</param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.Char.Random(System.String)">
+            <summary>
+            获取随机字符
+            </summary>
+            <param name="All">字符集</param>
+            <returns></returns>
+        </member>
+        <member name="T:Apq.Collections.Dictionary`3">
+            <summary>
+            一键2值字典(映射)(典型应用:从Excel中导入指定的列到DataTable中对应的列)
+            </summary>
+            <typeparam name="TKey"></typeparam>
+            <typeparam name="TValue1"></typeparam>
+            <typeparam name="TValue2"></typeparam>
+        </member>
+        <member name="F:Apq.Collections.Dictionary`3.m_lst">
+            <summary>
+            映射列表
+            </summary>
+        </member>
+        <member name="P:Apq.Collections.Dictionary`3.Item(`0)">
+            <summary>
+            获取或设置映射
+            </summary>
+            <param name="key"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.Collections.Dictionary`3.GetValue1(`0)">
+            <summary>
+            获取Value1
+            </summary>
+            <param name="key"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.Collections.Dictionary`3.GetValue2(`0)">
+            <summary>
+            获取Value2
+            </summary>
+            <param name="key"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.Collections.Dictionary`3.SetValue1(`0,`1)">
+            <summary>
+            设置Value1
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="P:Apq.Collections.Dictionary`3.Keys">
+            <summary>
+            [只读]
+            </summary>
+        </member>
+        <member name="M:Apq.Collections.Dictionary`3.SetValue2(`0,`2)">
+            <summary>
+            设置Value2
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.Collections.Dictionary`3.IndexOf(`0)">
+            <summary>
+            返回指定Key在列表中的位置,-1表示不存在
+            </summary>
+            <param name="key"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.Collections.Dictionary`3.Add(`0,`1,`2)">
+            <summary>
+            添加映射
+            </summary>
+            <param name="key"></param>
+            <param name="value1"></param>
+            <param name="value2"></param>
+        </member>
+        <member name="M:Apq.Collections.Dictionary`3.Clear">
+            <summary>
+            清除所有映射
+            </summary>
+        </member>
+        <member name="M:Apq.Collections.Dictionary`3.ContainsKey(`0)">
+            <summary>
+            检测是否已包含指定Key
+            </summary>
+            <param name="key"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.Collections.Dictionary`3.Remove(`0)">
+            <summary>
+            移除指定键的映射
+            </summary>
+            <param name="key"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Apq.Collections.KeyValuePair`3">
+            <summary>
+            单条 一键2值 数据
+            </summary>
+            <typeparam name="TKey"></typeparam>
+            <typeparam name="TValue1"></typeparam>
+            <typeparam name="TValue2"></typeparam>
+        </member>
+        <member name="F:Apq.Collections.KeyValuePair`3.Key">
+            <summary>
+            键
+            </summary>
+        </member>
+        <member name="F:Apq.Collections.KeyValuePair`3.Value1">
+            <summary>
+            值1
+            </summary>
+        </member>
+        <member name="F:Apq.Collections.KeyValuePair`3.Value2">
+            <summary>
+            值2
+            </summary>
+        </member>
+        <member name="T:Apq.Collections.ListChangedEventHandler`1">
+            <summary>
+            集合已更改(单项)
+            </summary>
+        </member>
+        <member name="T:Apq.Collections.EventArgsListChanged`1">
+            <summary>
+            集合已更改的数据(单项)
+            </summary>
+        </member>
+        <member name="P:Apq.Collections.EventArgsListChanged`1.Item">
+            <summary>
+            获取或设置被操作的子项
+            </summary>
+        </member>
+        <member name="M:Apq.Collections.EventArgsListChanged`1.#ctor(`0,System.ComponentModel.ListChangedType,System.Int32)">
+            <summary>
+            集合已更改的数据(单项)
+            </summary>
+        </member>
+        <member name="M:Apq.Collections.EventArgsListChanged`1.#ctor(`0,System.ComponentModel.ListChangedType,System.Int32,System.Int32)">
+            <summary>
+            集合已更改的数据(单项)
+            </summary>
+        </member>
+        <member name="T:Apq.Collections.Ext_IList">
+            <summary>
+            IList&lt;T&gt;扩展
+            </summary>
+        </member>
+        <member name="M:Apq.Collections.Ext_IList.Reset``2(System.Collections.IList,System.Collections.IEnumerable,System.Func{``1,``0})">
+            <summary>
+            用另一个集合重置当前集合。
+            </summary>
+            <typeparam name="T">目标类型(子项)</typeparam>
+            <typeparam name="TSrc">来源类型(子项)</typeparam>
+            <param name="lst">当前集合</param>
+            <param name="list">来源集合</param>
+            <param name="create">提供创建目标类型对象的方法</param>
+        </member>
+        <member name="T:Apq.Collections.HisQueue`1">
+            <summary>
+            历史队列
+            </summary>
+        </member>
+        <member name="M:Apq.Collections.HisQueue`1.ReserveLately(System.Int32)">
+            <summary>
+            保留最近的行数(删除多出的更早的行)
+            </summary>
+            <returns>删除的行</returns>
+        </member>
+        <member name="M:Apq.Collections.HisQueue`1.Add(`0[])">
+            <summary>
+            添加行
+            </summary>
+            <returns>最后一个添加的Key(从1开始,失败则返回-1)</returns>
+        </member>
+        <member name="M:Apq.Collections.HisQueue`1.Early(System.Int32)">
+            <summary>
+            获取最早的行(默认一行)
+            </summary>
+        </member>
+        <member name="M:Apq.Collections.HisQueue`1.Lately(System.Int32)">
+            <summary>
+            获取最近的行(默认一行)
+            </summary>
+        </member>
+        <member name="T:Apq.Collections.IListWapper">
+            <summary>
+            IList封装
+            </summary>
+        </member>
+        <member name="F:Apq.Collections.IListWapper.m_List">
+            <summary>
+            System.Collections.IList
+            </summary>
+        </member>
+        <member name="M:Apq.Collections.IListWapper.#ctor(System.Collections.IList)">
+            <summary>
+            装饰
+            </summary>
+            <param name="List"></param>
+        </member>
+        <member name="M:Apq.Collections.IListWapper.#ctor">
+            <summary>
+            新建列表并装饰
+            </summary>
+        </member>
+        <member name="P:Apq.Collections.IListWapper.IsFixedSize">
+            <summary>
+            获取一个值,该值指示 System.Collections.IList 是否具有固定大小。
+            </summary>
+        </member>
+        <member name="P:Apq.Collections.IListWapper.IsReadOnly">
+            <summary>
+            获取一个值,该值指示 System.Collections.IList 是否为只读。
+            </summary>
+        </member>
+        <member name="P:Apq.Collections.IListWapper.Item(System.Int32)">
+            <summary>
+            获取或设置指定索引处的元素。
+            </summary>
+            <param name="index">要获得或设置的元素从零开始的索引。</param>
+            <returns>指定索引处的元素。</returns>
+        </member>
+        <member name="M:Apq.Collections.IListWapper.Add(System.Object)">
+            <summary>
+            将某项添加到 System.Collections.IList 中。
+            </summary>
+            <param name="value">要添加到 System.Collections.IList 的 System.Object。</param>
+            <returns>新元素的插入位置。</returns>
+        </member>
+        <member name="M:Apq.Collections.IListWapper.Clear">
+            <summary>
+            从 System.Collections.IList 中移除所有项。
+            </summary>
+        </member>
+        <member name="M:Apq.Collections.IListWapper.Contains(System.Object)">
+            <summary>
+            确定 System.Collections.IList 是否包含特定值。
+            </summary>
+            <param name="value">要在 System.Collections.IList 中查找的 System.Object。</param>
+            <returns>如果在 System.Collections.IList 中找到 System.Object,则为 true;否则为 false。</returns>
+        </member>
+        <member name="M:Apq.Collections.IListWapper.IndexOf(System.Object)">
+            <summary>
+            确定 System.Collections.IList 中特定项的索引。
+            </summary>
+            <param name="value">要在 System.Collections.IList 中查找的 System.Object。</param>
+            <returns>如果在列表中找到,则为 value 的索引;否则为 -1。</returns>
+        </member>
+        <member name="M:Apq.Collections.IListWapper.Insert(System.Int32,System.Object)">
+            <summary>
+            将一个项插入指定索引处的 System.Collections.IList。
+            </summary>
+            <param name="index">从零开始的索引,应在该位置插入 value。</param>
+            <param name="value">要插入 System.Collections.IList 中的 System.Object。</param>
+        </member>
+        <member name="M:Apq.Collections.IListWapper.Remove(System.Object)">
+            <summary>
+            从 System.Collections.IList 中移除特定对象的第一个匹配项。
+            </summary>
+            <param name="value">要从 System.Collections.IList 移除的 System.Object。</param>
+        </member>
+        <member name="M:Apq.Collections.IListWapper.RemoveAt(System.Int32)">
+            <summary>
+            移除指定索引处的 System.Collections.IList 项。
+            </summary>
+            <param name="index">从零开始的索引(属于要移除的项)。</param>
+        </member>
+        <member name="P:Apq.Collections.IListWapper.Count">
+            <summary>
+            获取 System.Collections.ICollection 中包含的元素数。
+            </summary>
+        </member>
+        <member name="P:Apq.Collections.IListWapper.IsSynchronized">
+            <summary>
+            获取一个值,该值指示是否同步对 System.Collections.ICollection 的访问(线程安全)。
+            </summary>
+        </member>
+        <member name="P:Apq.Collections.IListWapper.SyncRoot">
+            <summary>
+            获取可用于同步 System.Collections.ICollection 访问的对象。
+            </summary>
+        </member>
+        <member name="M:Apq.Collections.IListWapper.CopyTo(System.Array,System.Int32)">
+            <summary>
+            从特定的 System.Array 索引处开始,将 System.Collections.ICollection 的元素复制到一个 System.Array 中。
+            </summary>
+            <param name="array">作为从 System.Collections.ICollection 复制的元素的目标位置的一维 System.Array。System.Array 必须具有从零开始的索引。</param>
+            <param name="index">array 中从零开始的索引,从此处开始复制。</param>
+        </member>
+        <member name="M:Apq.Collections.IListWapper.GetEnumerator">
+            <summary>
+            返回一个循环访问集合的枚举数。
+            </summary>
+            <returns>可用于循环访问集合的 System.Collections.IEnumerator 对象。</returns>
+        </member>
+        <member name="E:Apq.Collections.IListWapper.ListChanged">
+            <summary>
+            ListChanged 事件
+            </summary>
+        </member>
+        <member name="F:Apq.Collections.IListWapper.MayListChanged">
+            <summary>
+            是否启用 ListChanged
+            </summary>
+        </member>
+        <member name="M:Apq.Collections.IListWapper.OnListChanged(System.ComponentModel.ListChangedEventArgs)">
+            <summary>
+            引发 ListChanged
+            </summary>
+            <param name="e"></param>
+        </member>
+        <member name="M:Apq.Collections.IListWapper.Contains(System.Collections.IList,System.Object)">
+            <summary>
+            返回列表中是否包含指定项(支持null)
+            </summary>
+        </member>
+        <member name="M:Apq.Collections.IListWapper.AddUnique(System.Object)">
+            <summary>
+            将某项添加到 System.Collections.Generic.IList 中,该项唯一。
+            </summary>
+            <returns>新项的插入位置。</returns>
+        </member>
+        <member name="M:Apq.Collections.IListWapper.Reset(System.Collections.IEnumerable)">
+            <summary>
+            用另一个集合重置当前集合
+            </summary>
+        </member>
+        <member name="T:Apq.Collections.IListWapper`1">
+            <summary>
+            IList&lt;T&gt;封装
+            </summary>
+        </member>
+        <member name="F:Apq.Collections.IListWapper`1.m_List">
+            <summary>
+            System.Collections.Generic.IList
+            </summary>
+        </member>
+        <member name="M:Apq.Collections.IListWapper`1.#ctor(System.Collections.Generic.IList{`0})">
+            <summary>
+            装饰
+            </summary>
+            <param name="List"></param>
+        </member>
+        <member name="M:Apq.Collections.IListWapper`1.#ctor">
+            <summary>
+            新建列表并装饰
+            </summary>
+        </member>
+        <member name="M:Apq.Collections.IListWapper`1.IndexOf(`0)">
+            <summary>
+            返回项在列表中的索引位置
+            </summary>
+        </member>
+        <member name="M:Apq.Collections.IListWapper`1.Insert(System.Int32,`0)">
+            <summary>
+            将一个项插入指定索引处
+            </summary>
+        </member>
+        <member name="M:Apq.Collections.IListWapper`1.RemoveAt(System.Int32)">
+            <summary>
+            移除指定索引处的元素
+            </summary>
+        </member>
+        <member name="P:Apq.Collections.IListWapper`1.Item(System.Int32)">
+            <summary>
+            获取或设置指定索引处的元素
+            </summary>
+        </member>
+        <member name="M:Apq.Collections.IListWapper`1.Add(`0)">
+            <summary>
+            将某项添加到列表中
+            </summary>
+        </member>
+        <member name="M:Apq.Collections.IListWapper`1.Clear">
+            <summary>
+            移除所有项
+            </summary>
+        </member>
+        <member name="M:Apq.Collections.IListWapper`1.Contains(`0)">
+            <summary>
+            确定列表是否包含特定项
+            </summary>
+        </member>
+        <member name="M:Apq.Collections.IListWapper`1.CopyTo(`0[],System.Int32)">
+            <summary>
+            将列表的所有项复制到数组指定索引处
+            </summary>
+        </member>
+        <member name="P:Apq.Collections.IListWapper`1.Count">
+            <summary>
+            获取列表中包含的元素数
+            </summary>
+        </member>
+        <member name="P:Apq.Collections.IListWapper`1.IsReadOnly">
+            <summary>
+            列表是否只读
+            </summary>
+        </member>
+        <member name="M:Apq.Collections.IListWapper`1.Remove(`0)">
+            <summary>
+            移除子项。没有找到 item,该方法也会返回 false
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.Collections.IListWapper`1.GetEnumerator">
+            <summary>
+            返回一个循环访问列表的枚举器
+            </summary>
+        </member>
+        <member name="M:Apq.Collections.IListWapper`1.System#Collections#IEnumerable#GetEnumerator">
+            <summary>
+            返回一个循环访问列表的枚举器
+            </summary>
+        </member>
+        <member name="E:Apq.Collections.IListWapper`1.ListChanged">
+            <summary>
+            ListChanged 事件
+            </summary>
+        </member>
+        <member name="F:Apq.Collections.IListWapper`1.MayListChanged">
+            <summary>
+            是否启用 ListChanged
+            </summary>
+        </member>
+        <member name="M:Apq.Collections.IListWapper`1.OnListChanged(Apq.Collections.EventArgsListChanged{`0})">
+            <summary>
+            引发 ListChanged
+            </summary>
+            <param name="e"></param>
+        </member>
+        <member name="M:Apq.Collections.IListWapper`1.Contains(System.Collections.Generic.IList{`0},`0)">
+            <summary>
+            返回列表中是否包含指定项(支持null)
+            </summary>
+        </member>
+        <member name="M:Apq.Collections.IListWapper`1.AddUnique(`0)">
+            <summary>
+            将某项添加到 System.Collections.Generic.IList 中,该项唯一。
+            </summary>
+            <returns>新项的插入位置。</returns>
+        </member>
+        <member name="M:Apq.Collections.IListWapper`1.AddRange(Apq.Collections.IListWapper{`0})">
+            <summary>
+            添加列表
+            </summary>
+            <param name="values"></param>
+        </member>
+        <member name="M:Apq.Collections.IListWapper`1.Reset(System.Collections.Generic.IEnumerable{`0})">
+            <summary>
+            用另一个集合重置当前集合
+            </summary>
+        </member>
+        <member name="T:Apq.Configs">
+            <summary>
+            配置缓存(配置文件名不能重复,即使是位于不同目录)
+            </summary>
+        </member>
+        <member name="M:Apq.Configs.Init">
+            <summary>
+            对新创建的实例进行初始化
+            </summary>
+        </member>
+        <member name="M:Apq.Configs.GetConfig(System.String,System.String)">
+            <summary>
+            获取配置,缓存中不存在时,自动查找Json配置文件并加入缓存
+            </summary>
+        </member>
+        <member name="P:Apq.Configs.Item(System.String,System.String)">
+            <summary>
+            配置文件名不能重复,即使是位于不同目录
+            </summary>
+        </member>
+        <member name="P:Apq.Configs.AppSettings">
+            <summary>
+            appsettings.json
+            </summary>
+        </member>
+        <member name="P:Apq.Configs.AppConfig">
+            <summary>
+            AppConfig.json
+            </summary>
+        </member>
+        <member name="T:Apq.Configuration.ConfigBase">
+            <summary>
+            配置基类
+            </summary>
+        </member>
+        <member name="P:Apq.Configuration.ConfigBase.FilePath">
+            <summary>
+            配置文件路径(或文件名、或接口地址)
+            </summary>
+        </member>
+        <member name="P:Apq.Configuration.ConfigBase.ConfigName">
+            <summary>
+            配置命名
+            </summary>
+        </member>
+        <member name="M:Apq.Configuration.ConfigBase.Load(System.Boolean)">
+            <summary>
+            加载配置
+            </summary>
+        </member>
+        <member name="M:Apq.Configuration.ConfigBase.Get(System.String)">
+            <summary>
+            获取配置值
+            </summary>
+        </member>
+        <member name="M:Apq.Configuration.ConfigBase.Set(System.String,System.String)">
+            <summary>
+            设置配置值
+            </summary>
+        </member>
+        <member name="M:Apq.Configuration.ConfigBase.Get``1(System.String)">
+            <summary>
+            获取配置值
+            </summary>
+        </member>
+        <member name="T:Apq.Configuration.FileConfig">
+            <summary>
+            通过文件保存的配置(先加载DefaultConfig目录,再加载Config目录下的同名文件)
+            </summary>
+        </member>
+        <member name="P:Apq.Configuration.FileConfig.Configuration_m">
+            <summary>
+            从文件加载出来的配置
+            </summary>
+        </member>
+        <member name="P:Apq.Configuration.FileConfig.DefaultFilePath_m">
+            <summary>
+            默认配置文件名
+            </summary>
+        </member>
+        <member name="P:Apq.Configuration.FileConfig.UserFilePath_m">
+            <summary>
+            用户配置文件名
+            </summary>
+        </member>
+        <member name="P:Apq.Configuration.FileConfig.ConfigName">
+            <summary>
+            配置命名
+            </summary>
+        </member>
+        <member name="M:Apq.Configuration.FileConfig.Get(System.String)">
+            <summary>
+            获取配置值
+            </summary>
+        </member>
+        <member name="M:Apq.Configuration.FileConfig.Set(System.String,System.String)">
+            <summary>
+            设置配置值
+            </summary>
+            <remarks>由派生类实现保存到文件</remarks>
+        </member>
+        <member name="T:Apq.Configuration.JsonConfig">
+            <summary>
+            .json配置文件链
+            </summary>
+        </member>
+        <member name="M:Apq.Configuration.JsonConfig.Load(System.Boolean)">
+            <summary>
+            加载配置
+            </summary>
+        </member>
+        <member name="M:Apq.Configuration.JsonConfig.Set(System.String,System.String)">
+            <summary>
+            设置配置值
+            </summary>
+        </member>
+        <member name="T:Apq.Configuration.XmlConfig">
+            <summary>
+            .xml配置文件链
+            </summary>
+        </member>
+        <member name="M:Apq.Configuration.XmlConfig.Load(System.Boolean)">
+            <summary>
+            加载配置
+            </summary>
+        </member>
+        <member name="T:Apq.ConnectionStrings.Access2007.OleDbConnection">
+            <summary>
+            OLEDB 连接字符串[可能不对]
+            </summary>
+        </member>
+        <member name="P:Apq.ConnectionStrings.Access2007.OleDbConnection.ConnectionStringFormat">
+            <summary>
+            带格式的连接字符串
+            </summary>
+        </member>
+        <member name="P:Apq.ConnectionStrings.Access2007.OleDbConnection.ConnectionStringDBPwdFormat">
+            <summary>
+            文件密码部分
+            </summary>
+        </member>
+        <member name="M:Apq.ConnectionStrings.Access2007.OleDbConnection.GetConnectionString(System.String,System.String,System.String)">
+            <summary>
+            获取连接字符串
+            </summary>
+            <param name="dataSource">文件地址</param>
+            <param name="UserName">用户名</param>
+            <param name="pwd">用户密码</param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.ConnectionStrings.Access2007.OleDbConnection.GetConnectionString(System.String,System.String,System.String,System.String)">
+            <summary>
+            获取连接字符串
+            </summary>
+            <param name="dataSource">文件地址</param>
+            <param name="UserName">用户名</param>
+            <param name="pwd">用户密码</param>
+            <param name="dbpwd">文件密码</param>
+            <returns></returns>
+        </member>
+        <member name="T:Apq.ConnectionStrings.Access.OleDbConnection">
+            <summary>
+            OLEDB 连接字符串[可能不对]
+            </summary>
+        </member>
+        <member name="P:Apq.ConnectionStrings.Access.OleDbConnection.ConnectionStringFormat">
+            <summary>
+            带格式的连接字符串
+            </summary>
+        </member>
+        <member name="P:Apq.ConnectionStrings.Access.OleDbConnection.ConnectionStringDBPwdFormat">
+            <summary>
+            文件密码部分
+            </summary>
+        </member>
+        <member name="M:Apq.ConnectionStrings.Access.OleDbConnection.GetConnectionString(System.String,System.String,System.String)">
+            <summary>
+            获取连接字符串
+            </summary>
+            <param name="dataSource">文件地址</param>
+            <param name="UserName">用户名</param>
+            <param name="pwd">用户密码</param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.ConnectionStrings.Access.OleDbConnection.GetConnectionString(System.String,System.String,System.String,System.String)">
+            <summary>
+            获取连接字符串
+            </summary>
+            <param name="dataSource">文件地址</param>
+            <param name="UserName">用户名</param>
+            <param name="pwd">用户密码</param>
+            <param name="dbpwd">文件密码</param>
+            <returns></returns>
+        </member>
+        <member name="T:Apq.ConnectionStrings.Common">
+            <summary>
+            连接字符串公用类
+            </summary>
+        </member>
+        <member name="M:Apq.ConnectionStrings.Common.GetConnectionString(Apq.ConnectionStrings.DBProduct,System.String,System.Int32,System.String,System.String,System.String,System.String,System.String)">
+            <summary>
+            获取连接字符串
+            </summary>
+        </member>
+        <member name="T:Apq.ConnectionStrings.DBProduct">
+            <summary>
+            数据库产品
+            </summary>
+        </member>
+        <member name="F:Apq.ConnectionStrings.DBProduct.MsSql">
+            <summary>
+            MsSql
+            </summary>
+        </member>
+        <member name="F:Apq.ConnectionStrings.DBProduct.MySql">
+            <summary>
+            MySql
+            </summary>
+        </member>
+        <member name="F:Apq.ConnectionStrings.DBProduct.Oracle">
+            <summary>
+            Oracle
+            </summary>
+        </member>
+        <member name="F:Apq.ConnectionStrings.DBProduct.Redis">
+            <summary>
+            Redis
+            </summary>
+        </member>
+        <member name="T:Apq.ConnectionStrings.EF6.EntryConnection">
+            <summary>
+            EF6的 连接字符串
+            实例使用方法:通过属性设置各项值(resName,provider,provider connection string,MultipleActiveResultSets),最后调用GetConnectionString方法获取
+            </summary>
+        </member>
+        <member name="M:Apq.ConnectionStrings.EF6.EntryConnection.GetConnectionString(System.String,System.String,System.String,System.Boolean)">
+            <summary>
+            获取连接字符串
+            </summary>
+        </member>
+        <member name="P:Apq.ConnectionStrings.EF6.EntryConnection.ResName">
+            <summary>
+            ResName
+            </summary>
+        </member>
+        <member name="P:Apq.ConnectionStrings.EF6.EntryConnection.DBConnectionString">
+            <summary>
+            DBConnectionString
+            </summary>
+        </member>
+        <member name="P:Apq.ConnectionStrings.EF6.EntryConnection.DBProvider">
+            <summary>
+            DBProvider
+            </summary>
+        </member>
+        <member name="P:Apq.ConnectionStrings.EF6.EntryConnection.MultipleActiveResultSets">
+            <summary>
+            DBName
+            </summary>
+        </member>
+        <member name="M:Apq.ConnectionStrings.EF6.EntryConnection.GetConnectionString">
+            <summary>
+            获取连接字符串
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="T:Apq.ConnectionStrings.Excel2007.OleDbConnection">
+            <summary>
+            OLEDB 连接字符串
+            </summary>
+        </member>
+        <member name="P:Apq.ConnectionStrings.Excel2007.OleDbConnection.ConnectionStringFormat">
+            <summary>
+            带格式的连接字符串
+            </summary>
+        </member>
+        <member name="M:Apq.ConnectionStrings.Excel2007.OleDbConnection.GetConnectionString(System.String)">
+            <summary>
+            获取连接字符串
+            </summary>
+            <param name="dataSource"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.ConnectionStrings.Excel2007.OleDbConnection.GetConnectionString(System.String,System.String,System.String,System.Boolean)">
+            <summary>
+            获取连接字符串
+            </summary>
+            <param name="dataSource"></param>
+            <param name="HDR">首行是否为列名["Yes"]</param>
+            <param name="IMEX">是否全以文本格式读取["0"]</param>
+            <param name="IsXml">是否为Xml文件</param>
+            <returns></returns>
+        </member>
+        <member name="T:Apq.ConnectionStrings.Excel.OleDbConnection">
+            <summary>
+            OLEDB 连接字符串
+            </summary>
+        </member>
+        <member name="P:Apq.ConnectionStrings.Excel.OleDbConnection.ConnectionStringFormat">
+            <summary>
+            带格式的连接字符串
+            </summary>
+        </member>
+        <member name="M:Apq.ConnectionStrings.Excel.OleDbConnection.GetConnectionString(System.String)">
+            <summary>
+            获取连接字符串
+            </summary>
+            <param name="dataSource"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.ConnectionStrings.Excel.OleDbConnection.GetConnectionString(System.String,System.String,System.String)">
+            <summary>
+            获取连接字符串
+            </summary>
+            <param name="dataSource"></param>
+            <param name="HDR">首行是否为列名["Yes"]</param>
+            <param name="IMEX">是否全以文本格式读取["1"]</param>
+            <returns></returns>
+        </member>
+        <member name="T:Apq.ConnectionStrings.MySql.MySqlConnection">
+            <summary>
+            MySql 连接字符串
+            实例使用方法:通过属性设置各项值(IP,Uid,Pwd必选),最后调用GetConnectionString方法获取
+            </summary>
+        </member>
+        <member name="M:Apq.ConnectionStrings.MySql.MySqlConnection.CreateConnection(System.String,System.Int32,System.String,System.String,System.String,System.String)">
+            <summary>
+            创建MsSql连接对象
+            </summary>
+            <param name="Server"></param>
+            <param name="Port"></param>
+            <param name="Uid"></param>
+            <param name="Pwd"></param>
+            <param name="dbName"></param>
+            <param name="Option"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.ConnectionStrings.MySql.MySqlConnection.GetConnectionString(System.String,System.Int32,System.String,System.String)">
+            <summary>
+            获取连接字符串
+            </summary>
+            <param name="IP">服务器地址</param>
+            <param name="Port">端口</param>
+            <param name="Uid">用户名</param>
+            <param name="Pwd">密码</param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.ConnectionStrings.MySql.MySqlConnection.GetConnectionString(System.String,System.Int32,System.String,System.String,System.String)">
+            <summary>
+            获取连接字符串
+            </summary>
+            <param name="IP">服务器地址</param>
+            <param name="Port">端口</param>
+            <param name="Uid">用户名</param>
+            <param name="Pwd">密码</param>
+            <param name="dbName">默认数据库名</param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.ConnectionStrings.MySql.MySqlConnection.GetConnectionString(System.String,System.Int32,System.String,System.String,System.String,System.String)">
+            <summary>
+            获取连接字符串
+            </summary>
+            <param name="IP">服务器地址</param>
+            <param name="Port">端口</param>
+            <param name="Uid">用户名</param>
+            <param name="Pwd">密码</param>
+            <param name="dbName">默认数据库名</param>
+            <param name="Option">其余选项</param>
+            <returns></returns>
+        </member>
+        <member name="P:Apq.ConnectionStrings.MySql.MySqlConnection.IP">
+            <summary>
+            IP
+            </summary>
+        </member>
+        <member name="P:Apq.ConnectionStrings.MySql.MySqlConnection.Port">
+            <summary>
+            Port
+            </summary>
+        </member>
+        <member name="P:Apq.ConnectionStrings.MySql.MySqlConnection.Uid">
+            <summary>
+            Uid
+            </summary>
+        </member>
+        <member name="P:Apq.ConnectionStrings.MySql.MySqlConnection.DBName">
+            <summary>
+            DBName
+            </summary>
+        </member>
+        <member name="P:Apq.ConnectionStrings.MySql.MySqlConnection.Pwd">
+            <summary>
+            密码
+            </summary>
+        </member>
+        <member name="P:Apq.ConnectionStrings.MySql.MySqlConnection.Option">
+            <summary>
+            其余选项(直接添加到连接字符串后面)
+            </summary>
+        </member>
+        <member name="M:Apq.ConnectionStrings.MySql.MySqlConnection.GetConnectionString">
+            <summary>
+            获取连接字符串
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="T:Apq.ConnectionStrings.Oracle.OracleConnection">
+            <summary>
+            OracleConnection 连接字符串,使用tns
+            实例使用方法:通过属性设置各项值(UserId,Pwd必选),最后调用GetConnectionString方法获取
+            </summary>
+        </member>
+        <member name="M:Apq.ConnectionStrings.Oracle.OracleConnection.GetConnectionString(System.String,System.Int32,System.String,System.String)">
+            <summary>
+            获取连接字符串
+            </summary>
+            <param name="IP">服务器地址</param>
+            <param name="Port">端口</param>
+            <param name="Uid">用户名</param>
+            <param name="Pwd">密码</param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.ConnectionStrings.Oracle.OracleConnection.GetConnectionString(System.String,System.Int32,System.String,System.String,System.String)">
+            <summary>
+            获取连接字符串
+            </summary>
+            <param name="IP">服务器地址</param>
+            <param name="Port">端口</param>
+            <param name="Uid">用户名</param>
+            <param name="Pwd">密码</param>
+            <param name="dbName">默认数据库名</param>
+            <returns></returns>
+        </member>
+        <member name="P:Apq.ConnectionStrings.Oracle.OracleConnection.IP">
+            <summary>
+            IP
+            </summary>
+        </member>
+        <member name="P:Apq.ConnectionStrings.Oracle.OracleConnection.Port">
+            <summary>
+            Port
+            </summary>
+        </member>
+        <member name="P:Apq.ConnectionStrings.Oracle.OracleConnection.Uid">
+            <summary>
+            Uid
+            </summary>
+        </member>
+        <member name="P:Apq.ConnectionStrings.Oracle.OracleConnection.DBName">
+            <summary>
+            DBName
+            </summary>
+        </member>
+        <member name="P:Apq.ConnectionStrings.Oracle.OracleConnection.Pwd">
+            <summary>
+            密码
+            </summary>
+        </member>
+        <member name="M:Apq.ConnectionStrings.Oracle.OracleConnection.GetConnectionString">
+            <summary>
+            获取连接字符串
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="T:Apq.ConnectionStrings.SQLite.SQLiteConnection">
+            <summary>
+            SQLite 连接字符串
+            实例使用方法:通过属性设置各项值(FilePath必选),最后调用GetConnectionString方法获取
+            </summary>
+        </member>
+        <member name="M:Apq.ConnectionStrings.SQLite.SQLiteConnection.GetConnectionString(System.String,System.String)">
+            <summary>
+            获取连接字符串
+            </summary>
+            <param name="FilePath">文件路径(最好是绝对路径)</param>
+            <param name="Pwd">密码</param>
+            <returns></returns>
+        </member>
+        <member name="P:Apq.ConnectionStrings.SQLite.SQLiteConnection.FilePath">
+            <summary>
+            文件路径(最好是绝对路径)
+            </summary>
+        </member>
+        <member name="P:Apq.ConnectionStrings.SQLite.SQLiteConnection.Pwd">
+            <summary>
+            密码
+            </summary>
+        </member>
+        <member name="M:Apq.ConnectionStrings.SQLite.SQLiteConnection.GetConnectionString">
+            <summary>
+            获取连接字符串
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="T:Apq.ConnectionStrings.SQLServer.SqlConnection">
+            <summary>
+            SqlConnection 连接字符串
+            实例使用方法:通过属性设置各项值(IP,Port,UserId,Pwd必选),最后调用GetConnectionString方法获取
+            </summary>
+        </member>
+        <member name="M:Apq.ConnectionStrings.SQLServer.SqlConnection.GetConnectionString(System.String,System.Int32,System.String,System.String,System.String,System.Boolean,System.String)">
+            <summary>
+            获取连接字符串
+            </summary>
+            <param name="IP">服务器地址</param>
+            <param name="Port">端口</param>
+            <param name="UserId">用户名</param>
+            <param name="Pwd">密码</param>
+            <param name="dbName">默认数据库名</param>
+            <param name="Async">是否允许异步</param>
+            <param name="AppName">客户端程序名称</param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.ConnectionStrings.SQLServer.SqlConnection.GetConnectionString(System.String,System.Int32,System.String,System.String,System.Boolean,System.String)">
+            <summary>
+            获取连接字符串
+            </summary>
+            <param name="IP">服务器地址</param>
+            <param name="Port">端口</param>
+            <param name="UserId">用户名</param>
+            <param name="Pwd">密码</param>
+            <param name="Async">是否允许异步</param>
+            <param name="AppName">客户端程序名称</param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.ConnectionStrings.SQLServer.SqlConnection.GetConnectionString(System.String,System.Int32,System.String,System.String,System.String,System.String,System.Boolean,System.String)">
+            <summary>
+            获取连接字符串
+            </summary>
+            <param name="IP">服务器地址</param>
+            <param name="Port">端口</param>
+            <param name="UserId">用户名</param>
+            <param name="Pwd">密码</param>
+            <param name="dbName">默认数据库名</param>
+            <param name="Option">其余选项</param>
+            <param name="Async">是否允许异步</param>
+            <param name="AppName">客户端程序名称</param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.ConnectionStrings.SQLServer.SqlConnection.GetConnectionString(System.String,System.Int32,System.String,System.String,System.String,System.String,System.String,System.Boolean,System.String)">
+            <summary>
+            获取连接字符串
+            </summary>
+            <param name="IP">服务器地址</param>
+            <param name="Port">端口</param>
+            <param name="UserId">用户名</param>
+            <param name="Pwd">密码</param>
+            <param name="dbName">默认数据库名</param>
+            <param name="Mirror">镜像地址(IP,Port)</param>
+            <param name="Option">其余选项</param>
+            <param name="Async">是否允许异步</param>
+            <param name="AppName">客户端程序名称</param>
+            <returns></returns>
+        </member>
+        <member name="P:Apq.ConnectionStrings.SQLServer.SqlConnection.IP">
+            <summary>
+            IP
+            </summary>
+        </member>
+        <member name="P:Apq.ConnectionStrings.SQLServer.SqlConnection.Port">
+            <summary>
+            Port
+            </summary>
+        </member>
+        <member name="P:Apq.ConnectionStrings.SQLServer.SqlConnection.UserId">
+            <summary>
+            UserId
+            </summary>
+        </member>
+        <member name="P:Apq.ConnectionStrings.SQLServer.SqlConnection.DBName">
+            <summary>
+            DBName
+            </summary>
+        </member>
+        <member name="P:Apq.ConnectionStrings.SQLServer.SqlConnection.AppName">
+            <summary>
+            客户端程序名称
+            </summary>
+        </member>
+        <member name="P:Apq.ConnectionStrings.SQLServer.SqlConnection.Mirror">
+            <summary>
+            镜像IP
+            </summary>
+        </member>
+        <member name="P:Apq.ConnectionStrings.SQLServer.SqlConnection.Pwd">
+            <summary>
+            密码
+            </summary>
+        </member>
+        <member name="P:Apq.ConnectionStrings.SQLServer.SqlConnection.UseTrusted">
+            <summary>
+            使用信任连接(winodws登录)
+            </summary>
+        </member>
+        <member name="P:Apq.ConnectionStrings.SQLServer.SqlConnection.Async">
+            <summary>
+            是否允许异步
+            </summary>
+        </member>
+        <member name="P:Apq.ConnectionStrings.SQLServer.SqlConnection.Option">
+            <summary>
+            其余选项(直接添加到连接字符串后面)
+            </summary>
+        </member>
+        <member name="M:Apq.ConnectionStrings.SQLServer.SqlConnection.GetConnectionString">
+            <summary>
+            获取连接字符串
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.ConnectionStrings.SQLServer.SqlConnection.TestAvailable(System.Boolean)">
+            <summary>
+            测试连接可用性
+            </summary>
+            <param name="ThrowException">连接失败时是否抛出异常</param>
+        </member>
+        <member name="T:Apq.ConnectionStrings.Textfile.OleDbConnection">
+            <summary>
+            OLEDB 连接字符串
+            </summary>
+        </member>
+        <member name="P:Apq.ConnectionStrings.Textfile.OleDbConnection.ConnectionStringFormat">
+            <summary>
+            带格式的连接字符串
+            </summary>
+        </member>
+        <member name="M:Apq.ConnectionStrings.Textfile.OleDbConnection.GetConnectionString(System.String)">
+            <summary>
+            Excel 带格式的连接字符串
+            </summary>
+            <summary>
+            获取连接字符串
+            </summary>
+            <param name="dataSource"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.ConnectionStrings.Textfile.OleDbConnection.GetConnectionString(System.String,System.String,System.String)">
+            <summary>
+            获取连接字符串
+            </summary>
+            <param name="dataSource"></param>
+            <param name="HDR">首行是否为列名["Yes"]</param>
+            <param name="FMT">指定分隔符或指明文本等宽{Fixed:等宽,TabDelimited:Tab分隔,Delimited(,):以括号内容分隔}</param>
+            <returns></returns>
+        </member>
+        <member name="T:Apq.CSMember">
+            <summary>
+            表示C#编程中某个对象具有某个名称的成员
+            </summary>
+            <remarks>
+            表示C#编程中某个对象具有某个名称的成员
+            </remarks>
+        </member>
+        <member name="M:Apq.CSMember.#ctor(System.Object,System.String)">
+            <summary>
+            表示C#编程中某个对象具有某个名称的成员
+            </summary>
+            <remarks>
+            表示C#编程中某个对象具有某个名称的成员
+            </remarks>
+        </member>
+        <member name="P:Apq.CSMember.Obj">
+            <summary>
+            获取或设置对象
+            </summary>
+        </member>
+        <member name="P:Apq.CSMember.MemberName">
+            <summary>
+            获取或设置成员名
+            </summary>
+        </member>
+        <member name="M:Apq.CSMember.Equals(Apq.CSMember)">
+            <summary>
+            相等比较
+            </summary>
+        </member>
+        <member name="M:Apq.CSMember.GetHashCode">
+            <summary>
+            获取哈希值
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.CSMember.Equals(System.Object)">
+            <summary>
+            相等比较
+            </summary>
+        </member>
+        <member name="M:Apq.CSMember.op_Equality(Apq.CSMember,Apq.CSMember)">
+            <summary>
+            ==运算符
+            </summary>
+        </member>
+        <member name="M:Apq.CSMember.op_Inequality(Apq.CSMember,Apq.CSMember)">
+            <summary>
+            !=运算符
+            </summary>
+        </member>
+        <member name="T:Apq.DB.DBAdapterBase">
+            <summary>
+            数据库适配器基类
+            </summary>
+        </member>
+        <member name="P:Apq.DB.DBAdapterBase.DBAdapter">
+            <summary>
+            获取或设置内部数据库适配器(设置时自动检测列映射和CRUD命令,如果缺失,自动添加)
+            </summary>
+        </member>
+        <member name="T:Apq.DB.DbParameterCollectionHelper">
+            <summary>
+            DbParameterCollectionHelper
+            </summary>
+        </member>
+        <member name="P:Apq.DB.DbParameterCollectionHelper.Parameters">
+            <summary>
+            获取参数集合
+            </summary>
+        </member>
+        <member name="M:Apq.DB.DbParameterCollectionHelper.#ctor(System.Data.Common.DbParameterCollection)">
+            <summary>
+            DbParameterCollectionHelper
+            </summary>
+            <param name="Parameters"></param>
+        </member>
+        <member name="P:Apq.DB.DbParameterCollectionHelper.Item(System.String)">
+            <summary>
+            获取或设置指定参数名的参数
+            </summary>
+            <param name="ParameterName">参数名</param>
+            <returns></returns>
+        </member>
+        <member name="T:Apq.DB.MsSql.CommSQL">
+            <summary>
+            常用的MsSql查询语句
+            </summary>
+        </member>
+        <member name="F:Apq.DB.MsSql.CommSQL.ProductMajorVersion">
+            <summary>
+            主版本号
+            </summary>
+        </member>
+        <member name="F:Apq.DB.MsSql.CommSQL.ProductMinorVersion">
+            <summary>
+            次版本号
+            </summary>
+        </member>
+        <member name="F:Apq.DB.MsSql.CommSQL.ExistsTable">
+            <summary>
+            是否存在指定的表
+            输入参数:@TableName
+            </summary>
+        </member>
+        <member name="F:Apq.DB.MsSql.CommSQL.Apq_NewID">
+            <summary>
+            获取自增值(通过序列或配置表,根据版本自动选择)
+            输入参数:@soName, @Count
+            输出参数:@First, @Last, @Inc, @Time
+            依赖项: Apq_NewIDBySO, Apq_NewIDByRow, Apq_CreateSO, Apq_CreateTable_Apq_ID, Apq_ProductMajorVersion
+            </summary>
+        </member>
+        <member name="T:Apq.DB.MsSql.MsSqlType">
+            <summary>
+            MsSql数据库类型枚举
+            </summary>
+        </member>
+        <member name="F:Apq.DB.MsSql.MsSqlType.bigint">
+            <summary>
+            BigInt
+            </summary>
+        </member>
+        <member name="F:Apq.DB.MsSql.MsSqlType.binary">
+            <summary>
+            binary
+            </summary>
+        </member>
+        <member name="F:Apq.DB.MsSql.MsSqlType.bit">
+            <summary>
+            bit
+            </summary>
+        </member>
+        <member name="F:Apq.DB.MsSql.MsSqlType.char">
+            <summary>
+            char
+            </summary>
+        </member>
+        <member name="F:Apq.DB.MsSql.MsSqlType.date">
+            <summary>
+            date
+            </summary>
+        </member>
+        <member name="F:Apq.DB.MsSql.MsSqlType.datetime">
+            <summary>
+            datetime
+            </summary>
+        </member>
+        <member name="F:Apq.DB.MsSql.MsSqlType.datetime2">
+            <summary>
+            datetime2
+            </summary>
+        </member>
+        <member name="F:Apq.DB.MsSql.MsSqlType.datetimeoffset">
+            <summary>
+            datetimeoffset
+            </summary>
+        </member>
+        <member name="F:Apq.DB.MsSql.MsSqlType.decimal">
+            <summary>
+            decimal
+            </summary>
+        </member>
+        <member name="F:Apq.DB.MsSql.MsSqlType.float">
+            <summary>
+            float
+            </summary>
+        </member>
+        <member name="F:Apq.DB.MsSql.MsSqlType.geography">
+            <summary>
+            geography
+            </summary>
+        </member>
+        <member name="F:Apq.DB.MsSql.MsSqlType.geometry">
+            <summary>
+            geometry
+            </summary>
+        </member>
+        <member name="F:Apq.DB.MsSql.MsSqlType.hierarchyid">
+            <summary>
+            hierarchyid
+            </summary>
+        </member>
+        <member name="F:Apq.DB.MsSql.MsSqlType.image">
+            <summary>
+            image
+            </summary>
+        </member>
+        <member name="F:Apq.DB.MsSql.MsSqlType.int">
+            <summary>
+            int
+            </summary>
+        </member>
+        <member name="F:Apq.DB.MsSql.MsSqlType.money">
+            <summary>
+            money
+            </summary>
+        </member>
+        <member name="F:Apq.DB.MsSql.MsSqlType.nchar">
+            <summary>
+            nchar
+            </summary>
+        </member>
+        <member name="F:Apq.DB.MsSql.MsSqlType.ntext">
+            <summary>
+            ntext
+            </summary>
+        </member>
+        <member name="F:Apq.DB.MsSql.MsSqlType.numeric">
+            <summary>
+            numeric == decimal
+            </summary>
+        </member>
+        <member name="F:Apq.DB.MsSql.MsSqlType.nvarchar">
+            <summary>
+            nvarchar
+            </summary>
+        </member>
+        <member name="F:Apq.DB.MsSql.MsSqlType.real">
+            <summary>
+            real == float(24)
+            </summary>
+        </member>
+        <member name="F:Apq.DB.MsSql.MsSqlType.smalldatetime">
+            <summary>
+            smalldatetime
+            </summary>
+        </member>
+        <member name="F:Apq.DB.MsSql.MsSqlType.smallint">
+            <summary>
+            smallint
+            </summary>
+        </member>
+        <member name="F:Apq.DB.MsSql.MsSqlType.smallmoney">
+            <summary>
+            smallmoney
+            </summary>
+        </member>
+        <member name="F:Apq.DB.MsSql.MsSqlType.sql_variant">
+            <summary>
+            sql_variant
+            </summary>
+        </member>
+        <member name="F:Apq.DB.MsSql.MsSqlType.sysname">
+            <summary>
+            sysname
+            </summary>
+        </member>
+        <member name="F:Apq.DB.MsSql.MsSqlType.text">
+            <summary>
+            text
+            </summary>
+        </member>
+        <member name="F:Apq.DB.MsSql.MsSqlType.time">
+            <summary>
+            time
+            </summary>
+        </member>
+        <member name="F:Apq.DB.MsSql.MsSqlType.timestamp">
+            <summary>
+            timestamp
+            </summary>
+        </member>
+        <member name="F:Apq.DB.MsSql.MsSqlType.tinyint">
+            <summary>
+            tinyint
+            </summary>
+        </member>
+        <member name="F:Apq.DB.MsSql.MsSqlType.uniqueidentifier">
+            <summary>
+            uniqueidentifier
+            </summary>
+        </member>
+        <member name="F:Apq.DB.MsSql.MsSqlType.varbinary">
+            <summary>
+            varbinary
+            </summary>
+        </member>
+        <member name="F:Apq.DB.MsSql.MsSqlType.varchar">
+            <summary>
+            varchar
+            </summary>
+        </member>
+        <member name="F:Apq.DB.MsSql.MsSqlType.xml">
+            <summary>
+            xml
+            </summary>
+        </member>
+        <member name="T:Apq.DB.MsSql.MsSqlColumn">
+            <summary>
+            表示MsSql的列定义
+            </summary>
+        </member>
+        <member name="P:Apq.DB.MsSql.MsSqlColumn.ColumnName">
+            <summary>
+            列名
+            </summary>
+        </member>
+        <member name="P:Apq.DB.MsSql.MsSqlColumn.Caption">
+            <summary>
+            标题(一般是指中文标题)
+            </summary>
+        </member>
+        <member name="P:Apq.DB.MsSql.MsSqlColumn.Description">
+            <summary>
+            说明(描述)
+            </summary>
+        </member>
+        <member name="P:Apq.DB.MsSql.MsSqlColumn.MsSqlType">
+            <summary>
+            类型
+            </summary>
+        </member>
+        <member name="P:Apq.DB.MsSql.MsSqlColumn.Length">
+            <summary>
+            长度或精度
+            </summary>
+        </member>
+        <member name="P:Apq.DB.MsSql.MsSqlColumn.Scale">
+            <summary>
+            小数位数
+            </summary>
+        </member>
+        <member name="P:Apq.DB.MsSql.MsSqlColumn.TypeFrom">
+            <summary>
+            类型是根据什么解析出来的{0:未定义,1:Sql列类型,2:C#变量类型,3:默认类型(nvarchar)}
+            </summary>
+        </member>
+        <member name="M:Apq.DB.MsSql.MsSqlColumn.GetMsSqlTypeString">
+            <summary>
+            获取MsSqlType定义的字符串表示。默认为nvarchar(max)
+            </summary>
+        </member>
+        <member name="M:Apq.DB.MsSql.MsSqlColumn.GetColumnDefineString">
+            <summary>
+            获取MsSql的列定义语句
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.DB.MsSql.MsSqlTypeParser.FromName(System.String)">
+            <summary>
+            根据枚举名称字符串解析出枚举实例
+            </summary>
+            <returns>MsSqlType:枚举实例,
+            TypeFrom:类型是根据什么解析出来的{0:未定义,1:Sql列类型,2:C#变量类型}</returns>
+        </member>
+        <member name="M:Apq.DB.SQLite.Meta.CreateDBIfNotExists(System.String)">
+            <summary>
+            若数据库文件不存在,则创建数据库文件
+            </summary>
+            <returns>执行了创建文件时返回true</returns>
+        </member>
+        <member name="M:Apq.DB.SQLite.Meta.CreateTableIfNotExists(System.String,System.String,System.String,System.String)">
+            <summary>
+            建表(可选参数:初始数据)
+            </summary>
+        </member>
+        <member name="T:Apq.Delegates">
+            <summary>
+            代理及其示例方法
+            </summary>
+        </member>
+        <member name="T:Apq.Delegates.SetProperty">
+            <summary>
+            设置 obj 的 PropertyName 属性值为 Value
+            </summary>
+            <param name="obj">对象</param>
+            <param name="PropertyName">属性名</param>
+            <param name="Value">值</param>
+        </member>
+        <member name="M:Apq.Delegates.SetProperty_M(System.Object,System.String,System.Object)">
+            <summary>
+            [反射]设置对象属性
+            </summary>
+            <param name="obj">对象</param>
+            <param name="PropertyName">属性名</param>
+            <param name="Value">值</param>
+        </member>
+        <member name="T:Apq.Easer">
+            <summary>
+            缓动器(进度转换:时间进度=>插值进度)
+            </summary>
+        </member>
+        <member name="F:Apq.EaseType.Linear">
+            <summary>
+            线性缓动,匀速运动
+            </summary>
+        </member>
+        <member name="F:Apq.EaseType.InSine">
+            <summary>
+            正弦加速缓动,开始缓慢,后来加速
+            </summary>
+        </member>
+        <member name="F:Apq.EaseType.OutSine">
+            <summary>
+            正弦减速缓动,开始快速,后来减速
+            </summary>
+        </member>
+        <member name="F:Apq.EaseType.InOutSine">
+            <summary>
+            正弦波缓动,先加速后减速
+            </summary>
+        </member>
+        <member name="F:Apq.EaseType.InQuad">
+            <summary>
+            二次方加速缓动,开始缓慢,后来加速
+            </summary>
+        </member>
+        <member name="F:Apq.EaseType.OutQuad">
+            <summary>
+            二次方减速缓动,开始快速,后来减速
+            </summary>
+        </member>
+        <member name="F:Apq.EaseType.InOutQuad">
+            <summary>
+            二次方波缓动,先加速后减速
+            </summary>
+        </member>
+        <member name="F:Apq.EaseType.InCubic">
+            <summary>
+            三次方加速缓动,开始缓慢,后来加速
+            </summary>
+        </member>
+        <member name="F:Apq.EaseType.OutCubic">
+            <summary>
+            三次方减速缓动,开始快速,后来减速
+            </summary>
+        </member>
+        <member name="F:Apq.EaseType.InOutCubic">
+            <summary>
+            三次方波缓动,先加速后减速
+            </summary>
+        </member>
+        <member name="F:Apq.EaseType.InQuart">
+            <summary>
+            四次方加速缓动,开始缓慢,后来加速
+            </summary>
+        </member>
+        <member name="F:Apq.EaseType.OutQuart">
+            <summary>
+            四次方减速缓动,开始快速,后来减速
+            </summary>
+        </member>
+        <member name="F:Apq.EaseType.InOutQuart">
+            <summary>
+            四次方波缓动,先加速后减速
+            </summary>
+        </member>
+        <member name="F:Apq.EaseType.InQuint">
+            <summary>
+            五次方加速缓动,开始缓慢,后来加速
+            </summary>
+        </member>
+        <member name="F:Apq.EaseType.OutQuint">
+            <summary>
+            五次方减速缓动,开始快速,后来减速
+            </summary>
+        </member>
+        <member name="F:Apq.EaseType.InOutQuint">
+            <summary>
+            五次方波缓动,先加速后减速
+            </summary>
+        </member>
+        <member name="F:Apq.EaseType.InExpo">
+            <summary>
+            指数加速缓动,开始缓慢,后来加速
+            </summary>
+        </member>
+        <member name="F:Apq.EaseType.OutExpo">
+            <summary>
+            指数减速缓动,开始快速,后来减速
+            </summary>
+        </member>
+        <member name="F:Apq.EaseType.InOutExpo">
+            <summary>
+            指数波缓动,先加速后减速
+            </summary>
+        </member>
+        <member name="F:Apq.EaseType.InCirc">
+            <summary>
+            圆形加速缓动,开始缓慢,后来加速
+            </summary>
+        </member>
+        <member name="F:Apq.EaseType.OutCirc">
+            <summary>
+            圆形减速缓动,开始快速,后来减速
+            </summary>
+        </member>
+        <member name="F:Apq.EaseType.InOutCirc">
+            <summary>
+            圆形波缓动,先加速后减速
+            </summary>
+        </member>
+        <member name="F:Apq.EaseType.InOutBack">
+            <summary>
+            先正弦减速后正弦加速缓动,开始快速,后来减速,再加速
+            </summary>
+        </member>
+        <member name="F:Apq.EaseType.InBack">
+            <summary>
+            回退加速(类似弹簧),开始缓慢,后来加速并回退一定距离,然后减速回弹
+            </summary>
+        </member>
+        <member name="F:Apq.EaseType.OutBack">
+            <summary>
+            回退减速(类似弹簧),开始快速,后来减速并回退一定距离,然后加速回弹
+            </summary>
+        </member>
+        <member name="F:Apq.EaseType.InBounce">
+            <summary>
+            弹跳加速缓动,开始缓慢,后来加速并反弹
+            </summary>
+        </member>
+        <member name="F:Apq.EaseType.OutBounce">
+            <summary>
+            弹跳减速缓动,开始快速,后来减速并反弹
+            </summary>
+        </member>
+        <member name="F:Apq.EaseType.InOutBounce">
+            <summary>
+            弹跳波缓动,先加速后减速并反弹
+            (有可能是死循环,==测试后没问题再去掉这行注释)
+            </summary>
+        </member>
+        <member name="F:Apq.EaseType.InElastic">
+            <summary>
+            弹性加速缓动,开始缓慢,后来加速并弹性拉伸
+            </summary>
+        </member>
+        <member name="F:Apq.EaseType.OutElastic">
+            <summary>
+            弹性减速缓动,开始快速,后来减速并弹性拉伸
+            </summary>
+        </member>
+        <member name="F:Apq.EaseType.InOutElastic">
+            <summary>
+            弹性波缓动,先加速后减速并弹性拉伸
+            </summary>
+        </member>
+        <member name="T:Apq.EF.LoggerProvider">
+            <summary>
+            将EF的日志写入到 EFRolling日志器
+            </summary>
+        </member>
+        <member name="M:Apq.EF.LoggerProvider.Dispose">
+            <summary>
+            覆写为不要释放(为什么???????)
+            </summary>
+        </member>
+        <member name="T:Apq.EF.SqlLogger">
+            <summary>
+            将EF的日志写入到 EFRolling日志器
+            </summary>
+            <param name="categoryName">日志所属类别</param>
+        </member>
+        <member name="M:Apq.EF.SqlLogger.#ctor(System.String)">
+            <summary>
+            将EF的日志写入到 EFRolling日志器
+            </summary>
+            <param name="categoryName">日志所属类别</param>
+        </member>
+        <member name="T:Apq.EnumRow">
+            <summary>
+            表示枚举的一个值
+            </summary>
+        </member>
+        <member name="P:Apq.EnumRow.Name">
+            <summary>
+            枚举名
+            </summary>
+        </member>
+        <member name="P:Apq.EnumRow.Value">
+            <summary>
+            枚举值
+            </summary>
+        </member>
+        <member name="P:Apq.EnumRow.Description">
+            <summary>
+            附加描述
+            </summary>
+        </member>
+        <member name="T:Apq.EnumVisitor`1">
+            <summary>
+            枚举遍历器
+            </summary>
+            <typeparam name="T">枚举类型</typeparam>
+        </member>
+        <member name="M:Apq.EnumVisitor`1.AsEnumerable">
+            <summary>
+            返回类型为 IEnumerable&lt;T&gt; 的输入。
+            </summary>
+            <returns>类型为 IEnumerable&lt;T&gt; 的序列。</returns>
+        </member>
+        <member name="M:Apq.EnumVisitor`1.GetEnumerator">
+            <summary>
+            返回一个循环访问集合的枚举数。
+            </summary>
+            <returns>可用于循环访问集合的 IEnumerator 。</returns>
+        </member>
+        <member name="M:Apq.EnumVisitor`1.System#Collections#IEnumerable#GetEnumerator">
+            <summary>
+            返回一个循环访问集合的枚举数。
+            </summary>
+            <returns>可用于循环访问集合的 IEnumerator 。</returns>
+        </member>
+        <member name="M:Apq.EnumVisitor`1.ToDataTable">
+            <summary>
+            以三列DataTable(Name,Value{long},Description)输出枚举的所有值
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.EnumVisitor`1.ToList">
+            <summary>
+            以EnumRow(Name,Value{long},Description)的列表输出枚举的所有值
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="T:Apq.EventArgsBase">
+            <summary>
+            事件参数基础类
+            </summary>
+        </member>
+        <member name="P:Apq.EventArgsBase.PIns">
+            <summary>
+            输出参数列表
+            </summary>
+        </member>
+        <member name="M:Apq.EventArgsBase.SetItem(System.Int32,System.Object)">
+            <summary>
+            设置指定索引位置的值
+            </summary>
+        </member>
+        <member name="T:Apq.EventArgsText">
+            <summary>
+            事件参数第一项为字符串
+            </summary>
+        </member>
+        <member name="P:Apq.EventArgsText.Text">
+            <summary>
+            获取或设置事件关联的字符串
+            </summary>
+        </member>
+        <member name="T:Apq.EventArgsIndex">
+            <summary>
+            事件参数第一项为索引位置,第二项指示是否选中
+            </summary>
+        </member>
+        <member name="P:Apq.EventArgsIndex.Index">
+            <summary>
+            获取或设置事件关联的索引位置(-2表示未初始化)
+            </summary>
+        </member>
+        <member name="T:Apq.ExceptionWraper">
+            <summary>
+            异常封装
+            </summary>
+        </member>
+        <member name="M:Apq.ExceptionWraper.GetOriginalException(System.Exception)">
+            <summary>
+            获取原始异常
+            </summary>
+            <param name="ex"></param>
+        </member>
+        <member name="M:Apq.ExceptionWraper.GetMessageList(System.Exception,System.Boolean)">
+            <summary>
+            获取信息列表
+            </summary>
+            <param name="ex"></param>
+            <param name="ContainsStack">是否在异常信息后附上调用堆栈</param>
+        </member>
+        <member name="M:Apq.ExceptionWraper.#ctor(System.Exception)">
+            <summary>
+            Exception
+            </summary>
+            <param name="ex"></param>
+        </member>
+        <member name="P:Apq.ExceptionWraper.Ex">
+            <summary>
+            获取异常对象
+            </summary>
+        </member>
+        <member name="P:Apq.ExceptionWraper.Level">
+            <summary>
+            获取或设置异常级别
+            </summary>
+        </member>
+        <member name="P:Apq.ExceptionWraper.OriginalException">
+            <summary>
+            获取原始异常
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.ExceptionWraper.GetMessageList(System.Boolean)">
+            <summary>
+            获取信息列表
+            </summary>
+            <param name="ContainsStack">是否在异常信息后附上调用堆栈</param>
+        </member>
+        <member name="T:Apq.Extension.Ext_DataSet">
+            <summary>
+            System.Data中类的基本扩展
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_DataSet.GetDataSetColNames(System.Data.Common.DataColumnMappingCollection)">
+            <summary>
+            获取 DataSet 列名集合
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_DataSet.GetSourceColNames(System.Data.Common.DataColumnMappingCollection)">
+            <summary>
+            获取 Source 列名集合
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_DataSet.LikeDBNull(System.Data.DataRow)">
+            <summary>
+            返回一行是否全与 DBNull 具有相似意义
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_DataSet.EqualsTo(System.Data.DataRow,System.Data.DataRow,System.Boolean)">
+            <summary>
+            [反射]判断两行是否相等
+            </summary>
+            <param name="dr1"></param>
+            <param name="dr2"></param>
+            <param name="ContainsAutoID">是否比较自增列的值</param>
+        </member>
+        <member name="M:Apq.Extension.Ext_DataSet.ToDynamic(System.Data.DataRow,System.Boolean,System.Boolean)">
+            <summary>
+            转为动态类型(没有进行深复制,多用于实体转换)
+            </summary>
+            <remarks>
+            浅复制,无类型转换
+            </remarks>
+        </member>
+        <member name="M:Apq.Extension.Ext_DataSet.GetPrimaryValues(System.Data.DataRow)">
+            <summary>
+            获取主键值
+            </summary>
+            <param name="dr"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.Extension.Ext_DataSet.SetValues(System.Data.DataRow,System.Object[])">
+            <summary>
+            按顺序给行赋值
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_DataSet.CopytoNonPrimary(System.Data.DataRow,System.Data.DataRow,System.Collections.Generic.IList{System.String})">
+            <summary>
+            从另一行中“粘贴”数据到当前行(不复制主键) 对每一列,优先使用Clone方法,不支持则直接赋值
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_DataSet.Copyto(System.Data.DataRow,System.Data.DataRow,System.Collections.Generic.IList{System.String})">
+            <summary>
+            复制表中的行 对每一列,优先使用Clone方法,不支持则直接赋值
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_DataSet.WritePropertiesToDR(System.Object,System.Data.DataRow)">
+            <summary>
+            [反射]将可读属性写入到DataRow中已存在的对应列
+            </summary>
+            <remarks>
+            浅复制,无类型转换
+            </remarks>
+        </member>
+        <member name="M:Apq.Extension.Ext_DataSet.ReadPropertiesFromDR(System.Object,System.Data.DataRow)">
+            <summary>
+            [反射]从DataRow中加载存在的可写属性
+            </summary>
+            <remarks>
+            浅复制,通用类型转换
+            </remarks>
+        </member>
+        <member name="M:Apq.Extension.Ext_DataSet.WriteToXE(System.Data.DataRow,System.Collections.Generic.IList{System.String},System.Xml.XmlElement)">
+            <summary>
+            将行写入Xml节点的(属性)
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_DataSet.ReadFromXE(System.Data.DataRow,System.Collections.Generic.IList{System.String},System.Xml.XmlElement)">
+            <summary>
+            从 XmlElement 加载行
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_DataSet.ToXmlString(System.Data.DataRow)">
+            <summary>
+            将行转换为Xml字符串
+            </summary>
+            <param name="dr"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.Extension.Ext_DataSet.GetColNames(System.Data.DataTable)">
+            <summary>
+            获取所有列名
+            </summary>
+            <param name="dt">表</param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.Extension.Ext_DataSet.GetColNamesPrimary(System.Data.DataTable)">
+            <summary>
+            获取主键列名
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_DataSet.GetColNamesNonPrimary(System.Data.DataTable)">
+            <summary>
+            获取非主键列
+            </summary>
+            <param name="dt"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.Extension.Ext_DataSet.SetDist(System.Data.DataTable,System.Int32,System.String)">
+            <summary>
+            用给定值设置每一行的分布式结果列(按需自动添加分布式结果列)
+            </summary>
+            <remarks>
+            多用于分布式查询结果集的第一步处理
+            </remarks>
+        </member>
+        <member name="M:Apq.Extension.Ext_DataSet.CreateDefaultTableMapping(System.Data.DataTable)">
+            <summary>
+            生成默认映射表
+            </summary>
+            <param name="dt">表</param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.Extension.Ext_DataSet.GetDistinct(System.Data.DataTable,System.String[])">
+            <summary>
+            获取不重复列表
+            </summary>
+            <param name="dv">源表</param>
+            <param name="Columns">列名列表</param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.Extension.Ext_DataSet.CloneToStringTable(System.Data.DataTable)">
+            <summary>
+            创建一个与源表 列名相同,列类型为字符串 的空表
+            </summary>
+            <param name="dtSrc">源表</param>
+        </member>
+        <member name="M:Apq.Extension.Ext_DataSet.ExportToText(System.Data.DataTable,System.String,System.String,System.String,System.Boolean)">
+            <summary>
+            导出到文本文件
+            </summary>
+            <param name="dt">表</param>
+            <param name="FileName"></param>
+            <param name="strColSpliter">列分隔符</param>
+            <param name="strRowSpliter">行分隔符</param>
+            <param name="ContainsColName">是否包含列名</param>
+        </member>
+        <member name="M:Apq.Extension.Ext_DataSet.ToDynamicObservableCollection(System.Data.DataTable)">
+            <summary>
+            转换为ObservableCollection,子项为dynamic类型
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_DataSet.ToObservableCollection``1(System.Data.DataTable)">
+            <summary>  
+            [反射]转换为ObservableCollection
+            </summary>  
+        </member>
+        <member name="M:Apq.Extension.Ext_DataSet.MergeObservableCollection``1(System.Data.DataTable,System.Collections.ObjectModel.ObservableCollection{``0})">
+            <summary>
+            将ObservableCollection合并到表中
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_DataSet.MergeBoth(System.Data.DataTable,System.Data.DataTable)">
+            <summary>
+            双向合并(表名相同)
+            同名列合并,缺失列设为DBNull
+            </summary>
+            <returns>合并结果表</returns>
+        </member>
+        <member name="M:Apq.Extension.Ext_DataSet.ContainsRow(System.Data.DataTable,System.Data.DataRow,System.Data.DataRow@,System.Boolean)">
+            <summary>
+            返回表里是否已包含具有指定行值的行。包含时输出找到的等值行。
+            </summary>
+            <param name="dt"></param>
+            <param name="dr"></param>
+            <param name="drFind">输出等值行,不包含时输出为null</param>
+            <param name="CompareAutoID">是否比较自增列</param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.Extension.Ext_DataSet.GetRootRows(System.Data.DataTable,System.String,System.String)">
+            <summary>
+            获取根行
+            </summary>
+            <param name="dt">表</param>
+            <param name="Key">主键列名(单列)</param>
+            <param name="Parent">上级列名(单列)</param>
+        </member>
+        <member name="M:Apq.Extension.Ext_DataSet.WriteToTreeXE(System.Data.DataTable,System.Collections.Generic.IList{System.String},System.String,System.String,System.Xml.XmlElement,System.String,System.String)">
+            <summary>
+            写入到 XmlElement(树)
+            </summary>
+            <param name="dt">表</param>
+            <param name="Columns">需要的列名列表</param>
+            <param name="Key">主键列名(单列)</param>
+            <param name="Parent">上级列名(单列)</param>
+            <param name="xnVRoot">xnVRoot</param>
+            <param name="tag">结点名</param>
+            <param name="RootsFilter">根行筛选</param>
+        </member>
+        <member name="M:Apq.Extension.Ext_DataSet.ReadFromTreeXE(System.Data.DataTable,System.Collections.Generic.IList{System.String},System.String,System.String,System.Xml.XmlElement)">
+            <summary>
+            从 XmlElement(树) 加载表
+            </summary>
+            <param name="dt">表</param>
+            <param name="Columns">需要的列名列表</param>
+            <param name="Key">主键列名(一列)</param>
+            <param name="Parent">上级列名(一列)</param>
+            <param name="xeVRoot">xnVRoot</param>
+        </member>
+        <member name="M:Apq.Extension.Ext_DataSet.CreateDefaultMapping(System.Data.DataSet)">
+            <summary>
+            创建默认表列映射
+            </summary>
+            <param name="ds"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.Extension.Ext_DataSet.BuildupTabelForMaxrow(System.Data.DataSet,System.Int32)">
+            <summary>
+            按最大行数限制组织表(新建表,转移数据,新表名为原表名+"-"+编号)
+            </summary>
+            <param name="ds"></param>
+            <param name="Maxrow">每个表最大行数</param>
+        </member>
+        <member name="M:Apq.Extension.Ext_DataSet.ExportToText(System.Data.DataSet,System.String,System.String,System.String,System.Boolean)">
+            <summary>
+            [追加]导出指定表到文本文件
+            </summary>
+            <param name="ds"></param>
+            <param name="FileName"></param>
+            <param name="strColSpliter">列分隔符</param>
+            <param name="strRowSpliter">行分隔符</param>
+            <param name="ContainsColName">是否包含列名</param>
+        </member>
+        <member name="M:Apq.Extension.Ext_DataSet.MergeBoth(System.Data.DataSet,System.Data.DataSet)">
+            <summary>
+            双向合并
+            同名表进行合并,不存在则复制到输出中
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.Extension.Ext_DataSet.GetColNames(System.Data.DataView)">
+            <summary>
+            获取所有列名
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_DataSet.GetColNamesPrimary(System.Data.DataView)">
+            <summary>
+            获取主键列名
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_DataSet.GetColNamesNonPrimary(System.Data.DataView)">
+            <summary>
+            获取非主键列
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_DataSet.SetDist(System.Data.DataView,System.Int32,System.String)">
+            <summary>
+            用给定值设置每一行的分布式结果列(按需自动添加分布式结果列)
+            </summary>
+            <remarks>
+            多用于分布式查询结果集的第一步处理
+            </remarks>
+        </member>
+        <member name="M:Apq.Extension.Ext_DataSet.GetDistinct(System.Data.DataView,System.String[])">
+            <summary>
+            获取不重复列表
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_DataSet.CloneToStringTable(System.Data.DataView)">
+            <summary>
+            创建一个与源表 列名相同,列类型为字符串 的空表
+            </summary>
+            <param name="dv">源表</param>
+        </member>
+        <member name="M:Apq.Extension.Ext_DataSet.ExportToText(System.Data.DataView,System.String,System.String,System.String,System.Boolean)">
+            <summary>
+            导出到文本文件
+            </summary>
+            <param name="dv">表</param>
+            <param name="FileName"></param>
+            <param name="strColSpliter">列分隔符</param>
+            <param name="strRowSpliter">行分隔符</param>
+            <param name="ContainsColName">是否包含列名</param>
+        </member>
+        <member name="M:Apq.Extension.Ext_DataSet.ToObservableCollection``1(System.Data.DataView)">
+            <summary>  
+            [反射]转换为ObservableCollection
+            </summary>  
+        </member>
+        <member name="M:Apq.Extension.Ext_DataSet.FindRows(System.Data.DataView,System.String)">
+            <summary>
+            返回满足条件的行列表(在DataView上再次过滤)
+            </summary>
+        </member>
+        <member name="T:Apq.Extension.Ext_DateTime">
+            <summary>
+            DateTime扩展
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_DateTime.GetCppDateTime(System.DateTime,System.TimeZoneInfo)">
+            <summary>
+            获取对应的C++时间(数值)
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_DateTime.ToDateTimeFromCppDateTime(System.Double,System.TimeZoneInfo)">
+            <summary>
+            按C++时间(数值)获取对应的C#时间(DateTime)
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_DB.ConvertToCSType(System.Data.DbType)">
+            <summary>
+            其中:DbType ==&gt; CS
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_DB.ConvertToDbType(System.Type)">
+            <summary>
+            其中:CS ==&gt; DbType
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_DB.MaybeSqlInjection(System.String)">
+            <summary>
+            判断SQL注入的可能性
+            </summary>
+            <param name="me">应该是从不可信任来源传入的字符串(比如:客户端)</param>
+        </member>
+        <member name="M:Apq.Extension.Ext_DB.EraseSqlInjection(System.String,System.Boolean,System.Boolean)">
+            <summary>
+            去掉可能是SQL注入的字符
+            </summary>
+            <param name="me">应该是从不可信任来源传入的字符串(比如:客户端)</param>
+            <param name="RemoveNewLine">是否移除换行(\r和\n)</param>
+            <param name="RemoveWhiteSpaces">是否移除所有空白字符</param>
+            <remarks>默认替换字符串中的'为两个''、去掉单行GO、去掉分号</remarks>
+        </member>
+        <member name="M:Apq.Extension.Ext_DB.AsNameInMsSql(System.String)">
+            <summary>
+            防注入并转为MsSql的合法名称(替换字符串中的'为两个''、去掉单行GO、去掉分号、去掉回车换行、去掉空)
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_DB.ConvertToSqlON(System.ValueType,System.Data.DbType)">
+            <summary>
+            转换为SqlON串
+            </summary>
+            <param name="DbT">已支持类型受限于下级方法实现</param>
+            <param name="me"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.Extension.Ext_DB.ConvertToSqlON(System.Data.DataRow)">
+            <summary>
+            转换为SqlON串
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.Extension.Ext_DB.ConvertToSqlON(System.String,System.Data.DbType)">
+            <summary>
+            转换为SqlON串
+            </summary>
+            <param name="DbT">{Char,DateTime,NChar,NText,NVarChar,SmallDateTime,Text,UniqueIdentifier,VarChar}</param>
+            <param name="me"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.Extension.Ext_DB.ConvertToSqlON(System.Object)">
+            <summary>
+            转换为SqlON串
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.Extension.Ext_DB.ConvertToSqlON(System.Object,System.Data.DbType)">
+            <summary>
+            转换为SqlON串
+            </summary>
+            <param name="DbT">已支持类型受限于下级方法实现</param>
+            <param name="me"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.Extension.Ext_DB.ConvertToSqlON(System.Data.DbType,System.Byte[])">
+            <summary>
+            转换为SqlON串
+            </summary>
+            <param name="DbT">{Binary,Bit,Image,Variant,UniqueIdentifier}</param>
+            <param name="ary"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.Extension.Ext_DB.GuessDbType(System.String)">
+            <summary>
+            根据SqlON串,解析出对应的DbType(猜测)
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_DB.TryParseSqlON(System.String,System.Object@)">
+            <summary>
+            解析 SqlON 对象
+            </summary>
+            <param name="rtn">解析出来的结果</param>
+            <param name="me">来源 SqlON 字符串</param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.Extension.Ext_DB.ExportSql(System.Object[])">
+            <summary>
+            导出行语句(不含括号)
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_DB.ExportSql(System.Data.DataRow)">
+            <summary>
+            导出行语句(不含括号)
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_DB.ExportSql(System.Data.DataTable,System.String,System.Boolean)">
+            <summary>
+            导出行语句(含括号)
+            </summary>
+            <param name="me"></param>
+            <param name="Insert">给定“INSERT INTO table_name(colList) VALUES”</param>
+            <param name="IsBatch">输出语句是否为批量添加(速度快)</param>
+        </member>
+        <member name="M:Apq.Extension.Ext_DB.AddParameter(System.Data.Common.DbCommand,System.Data.Common.DbParameter)">
+            <summary>
+            [覆盖添加]添加参数
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_DB.AddParameter(System.Data.Common.DbCommand,System.String,System.Object)">
+            <summary>
+            [覆盖添加]添加参数
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_DB.AddParameter(System.Data.Common.DbCommand,System.String,System.Object,System.Data.DbType)">
+            <summary>
+            [覆盖添加]添加参数
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_DB.AddParameter(System.Data.Common.DbCommand,System.String,System.Object,System.Data.DbType,System.Int32)">
+            <summary>
+            [覆盖添加]添加参数
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_DB.Open_Ensure(System.Data.Common.DbConnection)">
+            <summary>
+            [可重入]打开连接
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_DB.Close_Ensure(System.Data.Common.DbConnection)">
+            <summary>
+            [可重入]关闭连接
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_DB.CreateAdapter(System.Data.Common.DbConnection,System.String)">
+            <summary>
+            [反射]创建 DataAdapter
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_DB.ExecuteCount(System.Data.Common.DbConnection,System.String,System.String)">
+            <summary>
+            从数据库查询单表总条数
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_DB.CreateCommand(System.Data.Common.DbDataAdapter,System.String)">
+            <summary>
+            [反射]创建 DbCommand
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_DB.AddParameter(System.Data.Common.DbCommand,System.Boolean,System.String,System.String,System.Data.DataRowVersion,System.Data.DbType,System.Data.ParameterDirection,System.Int32,System.Byte,System.Byte)">
+            <summary>
+            给DbCommand添加参数
+            </summary>
+            <param name="me"></param>
+            <param name="SourceColumnNullMapping">数据库是否允许为空</param>
+            <param name="ParameterName">参数名</param>
+            <param name="SourceColumn">对应的DataTable中的列名</param>
+            <param name="SourceVersion">从DataRow中取值时,取哪个版本的值</param>
+            <param name="DbType">数据库中的数据类型</param>
+            <param name="Size">数据库中数据类型的大小(长度)</param>
+            <param name="Precision">数据库中数据类型的精度</param>
+            <param name="Scale">数据库中数据类型的小数位数</param>
+            <param name="Direction">参数方向(Input/Output)</param>
+        </member>
+        <member name="P:Apq.Extension.DBBase.NonSupportedInType">
+            <summary>
+            对于不支持的来源类型返回的默认值
+            </summary>
+        </member>
+        <member name="P:Apq.Extension.DBBase.NonSupportedOutType">
+            <summary>
+            对于不支持的目标类型返回的默认值
+            </summary>
+        </member>
+        <member name="P:Apq.Extension.DBBase.htDbToCS">
+            <summary>
+            获取数据库类型与C#类型的对应表
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.DBBase.GetCSType(System.Data.DbType)">
+            <summary>
+            获取数据库类型对应的C#类型
+            </summary>
+            <param name="sdt"></param>
+            <returns></returns>
+        </member>
+        <member name="P:Apq.Extension.DBBase.htCSToDb">
+            <summary>
+            获取C#类型与数据库类型的对应表
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.DBBase.GetDbType(System.Type)">
+            <summary>
+            获取C#类型对应的数据库类型
+            </summary>
+            <param name="t"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Apq.Extension.Ext_Delegate">
+            <summary>
+            在全局变量中保存已暂停的代理,可用于触发事件前判断。
+            并不能改变代理和事件的默认功能。需要在事件处理代理中进行判断,已暂停则不处理了。
+            </summary>
+        </member>
+        <member name="F:Apq.Extension.Ext_Delegate.m_EventSuspend">
+            <summary>
+            表示已暂停处理的代理
+            </summary>
+        </member>
+        <member name="T:Apq.Extension.Ext_Dictionary">
+            <summary>
+            Dictionary扩展
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_Dictionary.Set``2(System.Collections.Generic.Dictionary{``0,``1},``0,``1)">
+            <summary>
+            添加/修改
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_Dictionary.ToDynamic``1(System.Collections.Generic.IDictionary{System.String,``0},System.Boolean,System.Boolean)">
+            <summary>
+            转为动态类型
+            </summary>
+            <remarks>
+            浅复制,无类型转换
+            </remarks>
+        </member>
+        <member name="T:Apq.Extension.Ext_EF">
+            <summary>
+            EF的扩展方法
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_EF.ExecuteSqlCommand(System.Data.Entity.Database,System.Collections.Generic.IList{System.Tuple{System.String,System.Data.Common.DbParameter[]}})">
+            <summary>
+            执行多条sql语句
+            </summary>
+        </member>
+        <member name="T:Apq.Extension.Ext_Enum">
+            <summary>
+            枚举扩展
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_Enum.GetName(System.Enum)">
+            <summary>
+            获取枚举名称
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_Enum.ParseName``1(System.String)">
+            <summary>
+            根据名称获取指定类型的枚举实例
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_Enum.GetValue(System.String,System.String,System.Reflection.Assembly)">
+            <summary>
+            根据枚举类型和枚举名称获取指定类型的枚举值
+            </summary>
+            <returns>返回null表示未找到枚举名称</returns>
+        </member>
+        <member name="M:Apq.Extension.Ext_Enum.GetDescription(System.Enum,System.Boolean)">
+            <summary>
+            获取枚举描述(DescriptionAttribute)
+            </summary>
+            <param name="eff">枚举值</param>
+            <param name="orName">未定义描述时使用名称代替</param>
+        </member>
+        <member name="T:Apq.Extension.Ext_EventSuspend">
+            <summary>
+            EventSuspend扩展
+            </summary>
+        </member>
+        <member name="P:Apq.Extension.Ext_EventSuspend.EventSuspend">
+            <summary>
+            保存已暂停的事件(用对象和成员名称指定)
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_EventSuspend.Contains(Apq.Collections.IListWapper{Apq.CSMember},System.Object,System.String)">
+            <summary>
+            此扩展将包含判断扩展为两次,1 按指定名称 2 使用空名称,只要有一次判断为true,则返回true,否则为false
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_EventSuspend.Add(Apq.Collections.IListWapper{Apq.CSMember},System.Object,System.String)">
+            <summary>
+            添加
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_EventSuspend.Remove(Apq.Collections.IListWapper{Apq.CSMember},System.Object,System.String)">
+            <summary>
+            移除子项。没有找到 item,该方法也会返回 false
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_ExpandoObject.ContainsInTree(System.Dynamic.ExpandoObject,System.String)">
+            <summary>
+            ExpandoObject树结构中是否存在指定属性
+            </summary>
+            <param name="expando"></param>
+            <param name="propertyName">属性名。可以包含"."进行下层访问。</param>
+            <returns>如果包含".",则必须所有层级的属性都存在才是true</returns>
+        </member>
+        <member name="M:Apq.Extension.Ext_ExpandoObject.GetInTree(System.Dynamic.ExpandoObject,System.String)">
+            <summary>
+            从ExpandoObject树结构中读取属性值
+            </summary>
+            <param name="expando"></param>
+            <param name="propertyName">属性名。可以包含"."进行下层访问。</param>
+            <returns>不存在此属性时返回null</returns>
+        </member>
+        <member name="M:Apq.Extension.Ext_ExpandoObject.SetInTree(System.Dynamic.ExpandoObject,System.String,System.Object)">
+            <summary>
+            在ExpandoObject树结构中设置属性值
+            </summary>
+            <param name="expando"></param>
+            <param name="propertyName">属性名。可以包含"."进行下层访问。</param>
+            <param name="value">属性值</param>
+        </member>
+        <member name="T:Apq.Extension.Ext_ICollection">
+            <summary>
+            ICollection&lt;T&gt;扩展
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_ICollection.Reset``2(System.Collections.Generic.ICollection{``0},System.Collections.Generic.IEnumerable{``1},System.Func{``1,``0})">
+            <summary>
+            用另一个集合重置当前集合。
+            </summary>
+            <typeparam name="T">目标类型</typeparam>
+            <typeparam name="TSrc">来源类型</typeparam>
+            <param name="lst">当前集合</param>
+            <param name="list">来源集合</param>
+            <param name="create">提供创建目标类型对象的方法</param>
+        </member>
+        <member name="T:Apq.Extension.Ext_IEnumerable">
+            <summary>
+            IEnumerable扩展
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_IEnumerable.Contains(System.Collections.IEnumerable,System.Object)">
+            <summary>
+            返回列表中是否包含指定项(支持null)
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_IEnumerable.GetRootItemType(System.Collections.IEnumerable)">
+            <summary>
+            获取所有子项(item)的根类(可以使用该类型引用指向任一子项)
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_IEnumerable.CopyToDataTable(System.Collections.IEnumerable,System.Data.DataTable)">
+            <summary>
+            复制数据到DataTable中(仅添加,会自动补全所有可读属性的列)
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_IEnumerable.ConvertToDataTable(System.Collections.IEnumerable)">
+            <summary>
+            转换为DataTable
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_IEnumerable.ToFixedList``1(System.Collections.Generic.IEnumerable{``0},System.Int32)">
+            <summary>
+            转为指定长度的倍数长度的列表,长度不足时尾部补默认值
+            </summary>
+            <remarks>主要用于字节数组</remarks>
+        </member>
+        <member name="M:Apq.Extension.Ext_IEnumerable.Map``2(System.Collections.Generic.IEnumerable{``0},System.Converter{``0,``1})">
+            <summary>
+            用指定类型转换方法,对每一项进行类型转换,返回新的列表(模仿jQuery,不包含转换结果为null的项)
+            </summary>
+        </member>
+        <member name="T:Apq.Extension.Ext_IList">
+            <summary>
+            List类基本扩展
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_IList.AddUnique(System.Collections.IList,System.Object)">
+            <summary>
+            将某项添加到 System.Collections.Generic.IList 中,该项唯一。
+            </summary>
+            <returns>新项的插入位置。</returns>
+        </member>
+        <member name="M:Apq.Extension.Ext_IList.IndexOf_ByCycle``1(System.Collections.Generic.IList{``0},System.Int32)">
+            <summary>
+            按循环索引获取子项
+            </summary>
+        </member>
+        <member name="T:Apq.Extension.Ext_JsonSerializeClone">
+            <summary>
+            通过JSON序列化和反序列化实现的深复制
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_JsonSerializeClone.JsonSerializeClone``1(``0)">
+            <summary>
+            通过序列化实现的深复制(要求类已标记为可序列化)
+            </summary>
+        </member>
+        <member name="T:Apq.Extension.Ext_MsSql">
+            <summary>
+            用于MsSql的扩展方法
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_MsSql.ConvertToSqlDbType(System.Data.DbType)">
+            <summary>
+            DbType ==&gt; SqlDbType
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_MsSql.ConvertToDbType(System.Data.SqlDbType)">
+            <summary>
+            SqlDbType ==&gt; DbType
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_MsSql.ConvertToCSType(System.Data.SqlDbType)">
+            <summary>
+            SqlDbType ==&gt; CS
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_MsSql.ConvertToSqlDbType(System.Type)">
+            <summary>
+            CS ==&gt; SqlDbType
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_MsSql.ConvertToMsSqlON(System.ValueType,System.Data.SqlDbType)">
+            <summary>
+            转换为SqlON串
+            </summary>
+            <param name="sdt">已支持类型受限于下级方法实现</param>
+            <param name="me"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.Extension.Ext_MsSql.ConvertToMsSqlON(System.Data.DataRow)">
+            <summary>
+            转换为SqlON串
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_MsSql.ConvertToMsSqlON(System.String,System.Data.SqlDbType)">
+            <summary>
+            转换为SqlON串
+            </summary>
+            <param name="sdt">{Char,DateTime,NChar,NText,NVarChar,SmallDateTime,Text,UniqueIdentifier,VarChar}</param>
+            <param name="me"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.Extension.Ext_MsSql.ConvertToMsSqlON(System.Object)">
+            <summary>
+            转换为SqlON串
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_MsSql.ConvertToMsSqlON(System.Object,System.Data.SqlDbType)">
+            <summary>
+            转换为SqlON串
+            </summary>
+            <param name="sdt">已支持类型受限于下级方法实现</param>
+            <param name="me"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.Extension.Ext_MsSql.ConvertToMsSqlON(System.Data.SqlDbType,System.Byte[])">
+            <summary>
+            转换为SqlON串
+            </summary>
+            <param name="sdt">{Binary,Bit,Image,Variant,UniqueIdentifier}</param>
+            <param name="ary"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.Extension.Ext_MsSql.GuessSqlDbType(System.String)">
+            <summary>
+            根据SqlON串,解析出对应的SqlDbType(猜测)
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_MsSql.TryParseMsSqlON(System.String,System.Object@)">
+            <summary>
+            解析 SqlON 对象
+            </summary>
+            <param name="rtn">解析出来的结果</param>
+            <param name="me">来源 SqlON 字符串</param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.Extension.Ext_MsSql.CreateMsSqlConnection(System.String,System.Int32,System.String,System.String,System.String,System.String,System.String)">
+            <summary>
+            创建MsSql连接对象
+            </summary>
+            <param name="Server"></param>
+            <param name="Port"></param>
+            <param name="Uid"></param>
+            <param name="Pwd"></param>
+            <param name="dbName"></param>
+            <param name="Option"></param>
+            <param name="AppName">客户端程序名称</param>
+            <returns></returns>
+        </member>
+        <member name="P:Apq.Extension.DB_MsSql.htSqlToDb">
+            <summary>
+            获取SqlDbType ==&gt; DbType 的映射表
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.DB_MsSql.GetDbType(System.Data.SqlDbType)">
+            <summary>
+            获取获取SqlDbType对应的DbType
+            </summary>
+        </member>
+        <member name="P:Apq.Extension.DB_MsSql.htDbToSql">
+            <summary>
+            获取DbType ==&gt; SqlDbType 的映射表
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.DB_MsSql.GetSqlDbType(System.Data.DbType)">
+            <summary>
+            获取DbType对应的SqlDbType
+            </summary>
+        </member>
+        <member name="P:Apq.Extension.DB_MsSql.htSqlToCS">
+            <summary>
+            获取SqlDbType ==&gt; C#类型 的映射表
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.DB_MsSql.GetCSType(System.Data.SqlDbType)">
+            <summary>
+            获取SqlDbType对应的C#类型
+            </summary>
+        </member>
+        <member name="P:Apq.Extension.DB_MsSql.htCSToSql">
+            <summary>
+            获取C#类型 ==&gt; SqlDbType 的映射表
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.DB_MsSql.GetSqlDbType(System.Type)">
+            <summary>
+            获取C#类型对应的SqlDbType
+            </summary>
+        </member>
+        <member name="P:Apq.Extension.DB_MsSql.htMsSqlToCS">
+            <summary>
+            获取SqlDbType ==&gt; C#类型 的映射表
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.DB_MsSql.GetCSType(Apq.DB.MsSql.MsSqlType)">
+            <summary>
+            获取MsSqlType对应的C#类型
+            </summary>
+        </member>
+        <member name="P:Apq.Extension.DB_MsSql.htCSToMsSql">
+            <summary>
+            获取C#类型 ==&gt; MsSqlType 的映射表
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.DB_MsSql.GetMsSqlType(System.Type)">
+            <summary>
+            获取C#类型对应的MsSqlType
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_MySql.ConvertToMySqlDbType(System.Data.DbType)">
+            <summary>
+            DbType ==&gt; MySqlDbType
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_MySql.ConvertToDbType(MySql.Data.MySqlClient.MySqlDbType)">
+            <summary>
+            MySqlDbType ==&gt; DbType
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_MySql.ConvertToCSType(MySql.Data.MySqlClient.MySqlDbType)">
+            <summary>
+            MySqlDbType ==&gt; CS
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_MySql.ConvertToMySqlDbType(System.Type)">
+            <summary>
+            CS ==&gt; MySqlDbType
+            </summary>
+        </member>
+        <member name="P:Apq.Extension.DB_MySql.htMySqlToDb">
+            <summary>
+            获取MySqlDbType ==&gt; DbType 的映射表
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.DB_MySql.GetDbType(MySql.Data.MySqlClient.MySqlDbType)">
+            <summary>
+            获取获取MySqlDbType对应的DbType
+            </summary>
+        </member>
+        <member name="P:Apq.Extension.DB_MySql.htDbToMySql">
+            <summary>
+            获取DbType ==&gt; MySqlDbType 的映射表
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.DB_MySql.GetMySqlDbType(System.Data.DbType)">
+            <summary>
+            获取DbType对应的MySqlDbType
+            </summary>
+        </member>
+        <member name="P:Apq.Extension.DB_MySql.htMySqlToCS">
+            <summary>
+            获取MySql数据库类型与C#类型的对应表
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.DB_MySql.GetCSType(MySql.Data.MySqlClient.MySqlDbType)">
+            <summary>
+            获取数据库类型对应的C#类型
+            </summary>
+            <param name="mdt"></param>
+            <returns></returns>
+        </member>
+        <member name="P:Apq.Extension.DB_MySql.htCSToMySql">
+            <summary>
+            获取C#类型与MySql数据库类型的对应表
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.DB_MySql.GetMySqlDbType(System.Type)">
+            <summary>
+            获取C#类型对应的MySql数据库类型
+            </summary>
+            <param name="t"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Apq.Extension.Ext_NameValueCollection">
+            <summary>
+            NameValueCollection扩展
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_NameValueCollection.ToDynamic(System.Collections.Specialized.NameValueCollection,System.Boolean,System.Boolean)">
+            <summary>
+            转为动态类型
+            </summary>
+            <remarks>
+            浅复制,无类型转换
+            </remarks>
+        </member>
+        <member name="M:Apq.Extension.Ext_NameValueCollection.ToPostContent(System.Collections.Specialized.NameValueCollection,System.Text.Encoding,System.Boolean,System.Boolean)">
+            <summary>
+            转为字节数组(用于Post)
+            </summary>
+        </member>
+        <member name="T:Apq.Extension.Ext_Object">
+            <summary>
+            [反射]System.Object的基础扩展
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_Object.LikeDBNull(System.Object)">
+            <summary>
+            返回指定对象是否与 DBNull 具有相似意义[仿JScrip]{null,DBNull,string.Empty}
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.Extension.Ext_Object.IsNull(System.Object)">
+            <summary>
+            返回指定对象是否为null{null,DBNull}
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.Extension.Ext_Object.IsNull_Cast(System.Object,System.Type)">
+            <summary>
+            返回指定对象转换为目标类型时是否应视为null{null,DBNull}
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.Extension.Ext_Object.HasMean(System.Object)">
+            <summary>
+            返回指定对象是否有意义,不为{null,DBNull,string.Empty,false}
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.Extension.Ext_Object.SetPropertyValue(System.Object,System.String,System.Object)">
+            <summary>
+            [反射]设置对象中指定属性的值
+            </summary>
+            <remarks>
+            浅复制,无类型转换
+            </remarks>
+        </member>
+        <member name="M:Apq.Extension.Ext_Object.GetPropertyValue(System.Object,System.String)">
+            <summary>
+            [反射]获取对象中指定属性的值
+            </summary>
+            <remarks>
+            浅复制,无类型转换
+            </remarks>
+        </member>
+        <member name="M:Apq.Extension.Ext_Object.GetPropertyValues(System.Object,System.Collections.Generic.IEnumerable{System.String})">
+            <summary>
+            [反射]获取对象中指定属性的值(数组)
+            </summary>
+            <remarks>
+            浅复制,无类型转换
+            </remarks>
+        </member>
+        <member name="M:Apq.Extension.Ext_Object.ToString_Fast(System.Object,System.String)">
+            <summary>
+            快速转换为字符串(支持类型有限)
+            </summary>
+            <param name="obj">原始对象</param>
+            <param name="failedString">转换失败时返回此参数值</param>
+        </member>
+        <member name="M:Apq.Extension.Ext_Object.ToDynamic(System.Object,System.Boolean,System.Boolean)">
+            <summary>
+            转为动态类型[主要用于匿名对象](只取属性,没有进行深复制,多用于实体转换)
+            </summary>
+            <remarks>
+            浅复制,无类型转换
+            </remarks>
+        </member>
+        <member name="T:Apq.Extension.Ext_ObservableCollection">
+            <summary>
+            ObservableCollection泛型集合基本扩展
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_ObservableCollection.Sort``1(System.Collections.ObjectModel.ObservableCollection{``0})">
+            <summary>
+            默认排序
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_ObservableCollection.Sort``1(System.Collections.ObjectModel.ObservableCollection{``0},System.Collections.Generic.IComparer{``0})">
+            <summary>
+            按指定比较方法排序
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_Oracle.ConvertToOracleDbType(System.Data.DbType)">
+            <summary>
+            DbType ==&gt; OracleDbType
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_Oracle.ConvertToDbType(Oracle.ManagedDataAccess.Client.OracleDbType)">
+            <summary>
+            OracleDbType ==&gt; DbType
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_Oracle.ConvertToCSType(Oracle.ManagedDataAccess.Client.OracleDbType)">
+            <summary>
+            OracleDbType ==&gt; CS
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_Oracle.ConvertToOracleDbType(System.Type)">
+            <summary>
+            CS ==&gt; OracleDbType
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_Oracle.CreateOracleConnection(System.String,System.Int32,System.String,System.String,System.String)">
+            <summary>
+            创建Oracle连接对象
+            </summary>
+            <param name="Server"></param>
+            <param name="Port"></param>
+            <param name="Uid"></param>
+            <param name="Pwd"></param>
+            <param name="dbName"></param>
+            <returns></returns>
+        </member>
+        <member name="P:Apq.Extension.DB_Oracle.htOracleToDb">
+            <summary>
+            OracleDbType ==&gt; DbType 的映射表
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.DB_Oracle.GetDbType(Oracle.ManagedDataAccess.Client.OracleDbType)">
+            <summary>
+            获取获取OracleDbType对应的DbType
+            </summary>
+        </member>
+        <member name="P:Apq.Extension.DB_Oracle.htDbToOracle">
+            <summary>
+            获取DbType ==&gt; OracleDbType 的映射表
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.DB_Oracle.GetOracleDbType(System.Data.DbType)">
+            <summary>
+            获取DbType对应的OracleDbType
+            </summary>
+        </member>
+        <member name="P:Apq.Extension.DB_Oracle.htOracleToCS">
+            <summary>
+            获取OracleDbType ==&gt; C#类型 的映射表
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.DB_Oracle.GetCSType(Oracle.ManagedDataAccess.Client.OracleDbType)">
+            <summary>
+            获取OracleDbType对应的C#类型
+            </summary>
+        </member>
+        <member name="P:Apq.Extension.DB_Oracle.htCSToOracle">
+            <summary>
+            获取C#类型 ==&gt; OracleDbType 的映射表
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.DB_Oracle.GetOracleDbType(System.Type)">
+            <summary>
+            获取C#类型对应的OracleDbType
+            </summary>
+        </member>
+        <member name="T:Apq.Extension.Ext_Reflection">
+            <summary>
+            反射扩展
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_Reflection.IsAnonymous(System.Reflection.MemberInfo)">
+            <summary>
+            是否为匿名代码(如:匿名类、Lambda块)
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_Reflection.GetFriendlyName(System.Reflection.MemberInfo)">
+            <summary>
+            获取友好名称
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_Reflection.IsCompilerGenerated(System.Type)">
+            <summary>
+            是否由编译器自动生成
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_Reflection.GetClassDeclare(System.Type)">
+            <summary>
+            获取类的定义
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_Reflection.GetNameSpace(System.Type)">
+            <summary>
+            获取类的命名空间
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_Reflection.GetClassNameSelf(System.Type)">
+            <summary>
+            获取类自己的名称(不含嵌套类的上级类名)
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_Reflection.GetClassName(System.Type)">
+            <summary>
+            获取类名(嵌套类包含上级类名)
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_Reflection.IsCompilerGenerated(System.Reflection.MethodBase)">
+            <summary>
+            是否由编译器自动生成
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_Reflection.GetMethodNameDeclare(System.Reflection.MethodBase)">
+            <summary>
+            获取方法定义所在的类和方法名(不含泛型的形参列表)
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_Reflection.GetMethodName(System.Reflection.MethodBase)">
+            <summary>
+            获取方法定义所在的命名空间、类名和方法名
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_Reflection.GetDelegateReturnType(System.Type)">
+            <summary>
+            获取委托的返回类型
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_Reflection.GetDelegateParameterTypes(System.Type)">
+            <summary>
+            获取委托的参数类型列表
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_Reflection.FomatNameForCSV(System.String)">
+            <summary>
+            将名称中的英文逗号换为中文逗号
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_Reflection.GetAllFields(System.Type,System.Reflection.BindingFlags,System.Collections.Generic.IEnumerable{System.String})">
+            <summary>
+            获取继承层次中的所有字段
+            </summary>
+            <param name="me">当前类型</param>
+            <param name="flags">标志</param>
+            <param name="names">字段名范围</param>
+        </member>
+        <member name="M:Apq.Extension.Ext_Reflection.GetAllProperties(System.Type,System.Reflection.BindingFlags,System.Collections.Generic.IEnumerable{System.String})">
+            <summary>
+            获取继承层次中的所有属性
+            </summary>
+            <param name="me">当前类型</param>
+            <param name="flags">标志</param>
+            <param name="names">字段名范围</param>
+        </member>
+        <member name="M:Apq.Extension.Ext_Stream.SaveToFile(System.IO.Stream,System.String)">
+            <summary>
+            将流写成文件(如何文件已存在,则覆盖)
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_String.RemoveWhiteSpaces(System.String)">
+            <summary>
+            移除所有空白或不可见字符
+            </summary>
+            <param name="me"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.Extension.Ext_String.IndexOf(System.String,System.Collections.Generic.IEnumerable{System.String})">
+            <summary>
+            查找所有子串出现的位置
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_String.Repeate(System.String,System.Int32)">
+            <summary>
+            字符串重复count次(0次就是string.Empty)
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_String.GetRange(System.String,System.Int32,System.Int32)">
+            <summary>
+            按索引范围取子串[idxBegin,idxEnd)
+            </summary>
+            <returns>尽量按范围取(范围无效时返回string.Empty)</returns>
+        </member>
+        <member name="M:Apq.Extension.Ext_String.IsInt(System.String)">
+            <summary>
+            字符串是否为十进制整数(可包含正负号[开头允许有一个],小数点[仅结尾可有])(不是使用正则表达式)
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_String.IsNum(System.String)">
+            <summary>
+            字符串是否为十进制数值(可包含正负号[开头允许有一个],小数点[最多一个])(不是使用正则表达式)
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_String.GetFirstMeaningfulString(System.String[])">
+            <summary>
+            模仿??操作符,取列表中第一个有意义的字符串,全无意则取最后一个值。(无意义:null, 空白字符串[Empty,WhiteSpace])
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_String.MaybeSqlInjection(System.String)">
+            <summary>
+            判断字符串是否可能是SQL注入(包含以下字符:";","'","--","/*","*/","xp_")
+            </summary>
+            <param name="me">应该是从不可信任来源传入的字符串(比如:客户端)</param>
+        </member>
+        <member name="M:Apq.Extension.Ext_String.GetChineseWord(System.String)">
+            <summary>
+            提取中文(连在一起)
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_String.IsIP4(System.String)">
+            <summary>
+            判断字符串是否为IP4
+            </summary>
+        </member>
+        <member name="M:Apq.Extension.Ext_String.SplitNum``1(System.String,System.Collections.Generic.List{``0}@,System.Collections.Generic.List{System.String}@,System.String[],System.StringSplitOptions)">
+            <summary>
+            将字符串拆分为两个列表,数字与非数字
+            </summary>
+        </member>
+        <member name="T:Apq.GlobalObject">
+            <summary>
+            全局对象
+            </summary>
+        </member>
+        <member name="P:Apq.GlobalObject.TheProcess">
+            <summary>
+            当前进程
+            </summary>
+        </member>
+        <member name="P:Apq.GlobalObject.EntryFolder">
+            <summary>
+            当前程序的入口目录。入口程序集(dll或exe)所在目录(以"\"结尾的绝对路径)
+            </summary>
+        </member>
+        <member name="P:Apq.GlobalObject.TheAssembly">
+            <summary>
+            该程序集
+            </summary>
+        </member>
+        <member name="P:Apq.GlobalObject.DllFolder">
+            <summary>
+            本程序集(dll或exe)所在目录(以"\"结尾的绝对路径)
+            </summary>
+        </member>
+        <member name="P:Apq.GlobalObject.DefaultConfigFolder">
+            <summary>
+            DefaultConfig目录(以"\"结尾)
+            </summary>
+        </member>
+        <member name="P:Apq.GlobalObject.ConfigFolder">
+            <summary>
+            Config目录(以"\"结尾)
+            </summary>
+        </member>
+        <member name="P:Apq.GlobalObject.NamedInstances">
+            <summary>
+            命名实例集合
+            </summary>
+        </member>
+        <member name="M:Apq.GlobalObject.GetOrAddSingleton``1(System.Func{``0})">
+            <summary>
+            获取或添加单态实例
+            </summary>
+            <param name="factory">提供创建实例的方法</param>
+            <remarks>创建实例后立即自动调用初始化方法(Init)</remarks>
+        </member>
+        <member name="T:Apq.ISingleton`1">
+            <summary>
+            表示单态模式(注意实现静态成员)
+            </summary>
+            <typeparam name="T"></typeparam>
+        </member>
+        <member name="P:Apq.ISingleton`1.Instance">
+            <summary>
+            获取单态实例
+            </summary>
+        </member>
+        <member name="M:Apq.ISingleton`1.Init">
+            <summary>
+            对新创建的实例进行初始化(可以为空方法,实现类应在创建单态实例后立即调用)
+            </summary>
+        </member>
+        <member name="T:Apq.JsonPocoBase">
+            <summary>
+            Json简单类的抽象基类(用于解析Json结构的类应继承此类)
+            </summary>
+        </member>
+        <!-- Badly formed XML comment ignored for member "T:Apq.log4netHelper" -->
+        <member name="M:Apq.log4netHelper.UseConfigFile(System.String)">
+            <summary>
+            log4net使用自定义配置文件(如果没有同名的用户配置文件,则使用默认配置文件)
+            </summary>
+            <param name="fileName">配置文件名</param>
+            <remarks>该方法不会产生异常</remarks>
+        </member>
+        <member name="P:Apq.log4netHelper.RollingLoggerName">
+            <summary>
+            获取或设置滚动日志器名称(配置文件中应使用该名称)
+            </summary>
+        </member>
+        <member name="P:Apq.log4netHelper.MsSqlLoggerName">
+            <summary>
+            获取或设置MsSql日志器名称(配置文件中应使用该名称)
+            </summary>
+        </member>
+        <member name="P:Apq.log4netHelper.EFRollingLoggerName">
+            <summary>
+            获取或设置EF滚动日志器名称(配置文件中应使用该名称)
+            </summary>
+        </member>
+        <member name="M:Apq.log4netHelper.Log(log4net.ILog,log4net.Core.Level,System.Object,System.Exception)">
+            <summary>
+            记录日志
+            </summary>
+            <param name="me">日志器</param>
+            <param name="level">日志级别(有效级别为 Debug Info Warn Error Fatal)</param>
+            <param name="message">信息</param>
+            <param name="exception">异常对象</param>
+            <remarks>该方法未捕获异常</remarks>
+        </member>
+        <member name="M:Apq.log4netHelper.LogToRollingFile(log4net.Core.Level,System.Object,System.Exception)">
+            <summary>
+            记录日志到滚动文件
+            </summary>
+            <param name="level">日志级别(有效级别为 Debug Info Warn Error Fatal)</param>
+            <param name="message">信息</param>
+            <param name="exception">异常对象</param>
+            <remarks>该方法不会产生异常</remarks>
+        </member>
+        <member name="M:Apq.log4netHelper.LogToRollingFileAsync(log4net.Core.Level,System.Object,System.Exception)">
+            <summary>
+            [异步]记录日志到滚动文件
+            </summary>
+            <param name="level">日志级别(有效级别为 Debug Info Warn Error Fatal)</param>
+            <param name="message">信息</param>
+            <param name="exception">异常对象</param>
+            <remarks>该方法不会产生异常</remarks>
+        </member>
+        <member name="M:Apq.log4netHelper.LogToMsSql(log4net.Core.Level,System.Object,System.Exception)">
+            <summary>
+            记录日志到数据库
+            </summary>
+            <param name="level">日志级别(有效级别为 Debug Info Warn Error Fatal)</param>
+            <param name="message">信息</param>
+            <param name="exception">异常对象</param>
+            <remarks>该方法不会产生异常</remarks>
+        </member>
+        <member name="M:Apq.log4netHelper.LogToMsSqlAsync(log4net.Core.Level,System.Object,System.Exception)">
+            <summary>
+            [异步]记录日志到数据库
+            </summary>
+            <param name="level">日志级别(有效级别为 Debug Info Warn Error Fatal)</param>
+            <param name="message">信息</param>
+            <param name="exception">异常对象</param>
+            <remarks>该方法不会产生异常</remarks>
+        </member>
+        <member name="M:Apq.log4netHelper.DataBase_Log(System.String)">
+            <summary>
+            用法:将DbContext.Database.Log的值设置为该方法
+            </summary>
+        </member>
+        <member name="M:Apq.log4netHelper.LogToEFRollingFile(log4net.Core.Level,System.String)">
+            <summary>
+            记录EF生成的SQL语句到EF滚动文件
+            </summary>
+            <param name="level">日志级别(有效级别为 Debug Info Warn Error Fatal)</param>
+            <param name="sql">SQL语句</param>
+            <remarks>该方法不会产生异常</remarks>
+        </member>
+        <member name="M:Apq.log4netHelper.LogToEFRollingFileAsync(log4net.Core.Level,System.String)">
+            <summary>
+            [异步]记录EF生成的SQL语句到EF滚动文件
+            </summary>
+            <param name="level">日志级别(有效级别为 Debug Info Warn Error Fatal)</param>
+            <param name="sql">SQL语句</param>
+            <remarks>该方法不会产生异常</remarks>
+        </member>
+        <member name="M:Apq.log4netHelper.WriteLog(log4net.Core.Level,System.String,System.String,System.Exception)">
+            <summary>
+            [异步]记录日志到滚动文件(与LogToRollingFileAsync相同)
+            </summary>
+            <remarks>该方法不会产生异常</remarks>
+        </member>
+        <member name="M:Apq.log4netHelper.WriteException(System.Exception,System.String,System.String)">
+            <summary>
+            [异步]记录异常到滚动文件(自动展开下层异常)
+            </summary>
+            <remarks>该方法不会产生异常</remarks>
+        </member>
+        <member name="T:Apq.Net.HttpClientHelper">
+            <summary>
+            使用HttpClient进行Http访问
+            </summary>
+        </member>
+        <member name="M:Apq.Net.HttpClientHelper.GetResponseString(System.String,System.Net.Http.HttpMethod,System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,System.String}},System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,System.String}},System.String,System.Boolean,System.Text.Encoding,System.Func{System.String,System.Text.Encoding,System.String},System.Threading.CancellationToken)">
+            <summary>
+            Get请求时,整合参数到url再访问,返回响应串
+            </summary>
+            <param name="url"></param>
+            <param name="method">Get或Post</param>
+            <param name="ps">参数</param>
+            <param name="headers">请求头</param>
+            <param name="contentType">设置内容的ContentType</param>
+            <param name="disableCache">是否禁用缓存</param>
+            <param name="encoding">编码格式</param>
+            <param name="urlEncodeFunc">提供url编码方法。默认使用 Encoder.UrlEncode。</param>
+            <param name="cancellationToken"></param>
+        </member>
+        <member name="M:Apq.Net.HttpClientHelper.MultipartPostFile(System.String,System.String,System.Byte[],System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,System.String}},System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,System.String}},System.Text.Encoding,System.Func{System.String,System.Text.Encoding,System.String},System.Threading.CancellationToken)">
+            <summary>
+            上传文件
+            </summary>
+            <param name="url">上传地址</param>
+            <param name="uploadName">文件名</param>
+            <param name="fileContent">文件内容</param>
+            <param name="ps">参数</param>
+            <param name="headers">请求头</param>
+            <param name="encoding">编码格式</param>
+            <param name="urlEncodeFunc">提供url编码方法。默认使用 Encoder.UrlEncode。</param>
+            <param name="cancellationToken"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Apq.Net.HttpClientor">
+            <summary>
+            HttpClient的单态封装
+            </summary>
+        </member>
+        <member name="M:Apq.Net.HttpClientor.Init">
+            <summary>
+            对新创建的实例进行初始化(可以为空方法,实现类应在创建单态实例后立即调用)
+            </summary>
+        </member>
+        <member name="F:Apq.Net.HttpClientor._lazyClient">
+            <summary>
+            用于延迟创建对象(延迟到首次使用其Value属性时)
+            </summary>
+        </member>
+        <member name="P:Apq.Net.HttpClientor.CacheDisabled">
+            <summary>
+            是否禁用缓存
+            </summary>
+        </member>
+        <member name="T:Apq.Net.Local">
+            <summary>
+            本机功能
+            </summary>
+        </member>
+        <member name="M:Apq.Net.Local.GetIdelPort(System.Int32,System.Int32,System.Int32)">
+            <summary>
+            获取范围内[Min, Max]的一个空闲的端口(随机)
+            </summary>
+            <param name="PortType">类型{1:TCP, 2:UDP, ...}</param>
+            <param name="Min">最小值(含)</param>
+            <param name="Max">最大值(含)</param>
+        </member>
+        <member name="T:Apq.Net.PortEndPoint">
+            <summary>
+            端口端点
+            </summary>
+        </member>
+        <member name="P:Apq.Net.PortEndPoint.EndPoint">
+            <summary>
+            端口
+            </summary>
+        </member>
+        <member name="P:Apq.Net.PortEndPoint.IsListen">
+            <summary>
+            是否为监听的端口
+            </summary>
+        </member>
+        <member name="M:Apq.Net.PortEndPoint.Equals(Apq.Net.PortEndPoint)">
+            <summary>
+            相等比较
+            </summary>
+            <remarks>IP地址和端口都相等则为相等。注意:0地址与任意地址都相等,0端口与任意端口都相等</remarks>
+        </member>
+        <member name="M:Apq.Net.PortEndPoint.GetHashCode">
+            <summary>
+            获取哈希值
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.Net.PortEndPoint.Equals(System.Object)">
+            <summary>
+            相等比较
+            </summary>
+        </member>
+        <member name="M:Apq.Net.PortEndPoint.op_Equality(Apq.Net.PortEndPoint,Apq.Net.PortEndPoint)">
+            <summary>
+            ==运算符
+            </summary>
+        </member>
+        <member name="M:Apq.Net.PortEndPoint.op_Inequality(Apq.Net.PortEndPoint,Apq.Net.PortEndPoint)">
+            <summary>
+            !=运算符
+            </summary>
+        </member>
+        <member name="T:Apq.Net.PostContent">
+            <summary>
+            默认的 FormUrlEncodedContent 碰到超长的文本会出现 uri too long 的异常,这里自己封装一个
+            或使用 StringContent,同时设置ContentType="application/x-www-form-urlencoded" 即可
+            参考来自 stackoverflow
+            </summary>
+        </member>
+        <member name="M:Apq.Net.UrlHelper.GetUrlWithoutParams(System.String,System.Collections.Generic.IEnumerable{System.String})">
+            <summary>
+            获取不含参数的url
+            </summary>
+        </member>
+        <member name="M:Apq.Net.UrlHelper.UrlAddParams(System.String,System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,System.String}},System.Text.Encoding,System.Func{System.String,System.Text.Encoding,System.String})">
+            <summary>
+            在url的QueryString里添加参数
+            </summary>
+            <param name="url"></param>
+            <param name="ps"></param>
+            <param name="encoding"></param>
+            <param name="encodeFunc">提供编码算法,也可以使用解码算法。默认使用Encoder.UrlEncode</param>
+        </member>
+        <member name="M:Apq.Net.UrlHelper.PickQueryString(System.String,System.String)">
+            <summary>
+            提取QueryString
+            </summary>
+            <param name="separator">分隔符(这个字符之后的子串算为QueryString)</param>
+        </member>
+        <member name="M:Apq.Net.UrlHelper.PickParams(System.String,System.Collections.Generic.IList{System.String},System.String,System.Text.Encoding,System.Func{System.String,System.Text.Encoding,System.String})">
+            <summary>
+            从QueryString中提取参数
+            </summary>
+            <param name="queryString"></param>
+            <param name="separator"></param>
+            <param name="assignment"></param>
+            <param name="encoding"></param>
+            <param name="encodeFunc">提供编码算法,也可以使用解码算法。默认使用WebUtility.UrlDecode</param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.Net.UrlHelper.PickParamValue``1(System.String,System.String,System.Collections.Generic.IList{System.String},System.String,System.Text.Encoding,System.Func{System.String,System.Text.Encoding,System.String})">
+            <summary>
+            从QueryString中提取参数值
+            </summary>
+            <typeparam name="T">值的类型</typeparam>
+            <param name="queryString"></param>
+            <param name="key">参数名称(如果同名参数有多个,只取第一个)</param>
+            <param name="separator"></param>
+            <param name="assignment"></param>
+            <param name="encoding"></param>
+            <param name="encodeFunc">提供编码算法,也可以使用解码算法。默认使用WebUtility.UrlDecode</param>
+            <returns>参数值,是否获取成功</returns>
+        </member>
+        <!-- Badly formed XML comment ignored for member "M:Apq.Net.UrlHelper.BuildQueryString(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,System.String}},System.Text.Encoding,System.Func{System.String,System.Text.Encoding,System.String})" -->
+        <member name="T:Apq.NotifyChange.ListItemChanged`1">
+            <summary>
+            表示列表中更改的一项(一行)
+            </summary>
+        </member>
+        <member name="P:Apq.NotifyChange.ListItemChanged`1.Index">
+            <summary>
+            在列表中的索引位置
+            </summary>
+        </member>
+        <member name="E:Apq.NotifyChange.NotifyChangeList`1.ListChanging">
+            <summary>
+            列表即将更改事件
+            </summary>
+        </member>
+        <member name="M:Apq.NotifyChange.NotifyChangeList`1.OnListChanging(Apq.NotifyChange.NotifyChangeListEventArgs{`0})">
+            <summary>
+            通知列表即将更改
+            </summary>
+        </member>
+        <member name="M:Apq.NotifyChange.NotifyChangeList`1.FireListChanging(Apq.NotifyChange.NotifyChangeListEventArgs{`0})">
+            <summary>
+            仅触发事件
+            </summary>
+            <returns>是否阻止更改</returns>
+        </member>
+        <member name="E:Apq.NotifyChange.NotifyChangeList`1.ListChanged">
+            <summary>
+            列表已更改事件
+            </summary>
+        </member>
+        <member name="M:Apq.NotifyChange.NotifyChangeList`1.OnListChanged(Apq.NotifyChange.NotifyChangeListEventArgs{`0})">
+            <summary>
+            通知列表已更改
+            </summary>
+        </member>
+        <member name="M:Apq.NotifyChange.NotifyChangeList`1.FireListChanged(Apq.NotifyChange.NotifyChangeListEventArgs{`0})">
+            <summary>
+            仅触发事件
+            </summary>
+        </member>
+        <member name="M:Apq.NotifyChange.NotifyChangeList`1.RemoveAll(System.Predicate{`0})">
+            <summary>
+            移除满足条件的所有项
+            </summary>
+        </member>
+        <member name="T:Apq.NotifyChange.NotifyChangeListEventArgs`1">
+            <summary>
+            列表事件的参数
+            </summary>
+        </member>
+        <member name="M:Apq.NotifyChange.NotifyChangeListEventArgs`1.#ctor(Apq.NotifyChange.NotifyChangeList{`0})">
+            <summary>
+            列表事件的参数
+            </summary>
+        </member>
+        <member name="P:Apq.NotifyChange.NotifyChangeListEventArgs`1.List">
+            <summary>
+            列表实例
+            </summary>
+        </member>
+        <member name="P:Apq.NotifyChange.NotifyChangeListEventArgs`1.ChangeType">
+            <summary>
+            更改类型
+            </summary>
+        </member>
+        <member name="P:Apq.NotifyChange.NotifyChangeListEventArgs`1.Cancel">
+            <summary>
+            指示是否取消(中断后续流程)
+            </summary>
+        </member>
+        <member name="P:Apq.NotifyChange.NotifyChangeListEventArgs`1.Deleted">
+            <summary>
+            删除的项
+            </summary>
+        </member>
+        <member name="P:Apq.NotifyChange.NotifyChangeListEventArgs`1.Inserted">
+            <summary>
+            插入的项
+            </summary>
+        </member>
+        <member name="T:Apq.NotifyChange.NotifyChangeProperty">
+            <summary>
+            可暂停的更改通知
+            </summary>
+        </member>
+        <member name="M:Apq.NotifyChange.NotifyChangeProperty.#ctor(System.String,Apq.NotifyChange.NotifyPropertyChange)">
+            <summary>
+            可暂停的更改通知
+            </summary>
+        </member>
+        <member name="P:Apq.NotifyChange.NotifyChangeProperty.Instance">
+            <summary>
+            属性所属实例
+            </summary>
+        </member>
+        <member name="P:Apq.NotifyChange.NotifyChangeProperty.PropertyName">
+            <summary>
+            属性名称
+            </summary>
+        </member>
+        <member name="P:Apq.NotifyChange.NotifyChangeProperty.ChangingSuspend">
+            <summary>
+            是否已暂停更改前事件
+            </summary>
+        </member>
+        <member name="P:Apq.NotifyChange.NotifyChangeProperty.ChangedSuspend">
+            <summary>
+            是否已暂停更改后事件
+            </summary>
+        </member>
+        <member name="T:Apq.NotifyChange.NotifyChangeProperty`1">
+            <summary>
+            支持更改通知的属性(可暂停)
+            </summary>
+        </member>
+        <member name="M:Apq.NotifyChange.NotifyChangeProperty`1.#ctor(System.String,Apq.NotifyChange.NotifyPropertyChange)">
+            <summary>
+            支持更改通知的属性(可暂停)
+            </summary>
+        </member>
+        <member name="E:Apq.NotifyChange.NotifyChangeProperty`1.Changing">
+            <summary>
+            更改前
+            </summary>
+        </member>
+        <member name="E:Apq.NotifyChange.NotifyChangeProperty`1.Changed">
+            <summary>
+            更改后
+            </summary>
+        </member>
+        <member name="P:Apq.NotifyChange.NotifyChangeProperty`1.Value">
+            <summary>
+            当前值
+            </summary>
+        </member>
+        <member name="P:Apq.NotifyChange.NotifyChangeProperty`1.HasValue">
+            <summary>
+            属性是否有值
+            </summary>
+        </member>
+        <member name="M:Apq.NotifyChange.NotifyChangeProperty`1.OnChanging(`0,`0)">
+            <summary>
+            更改前(派生类重写时可以直接调用Fire方法而不调用此方法)
+            </summary>
+            <returns>是否阻止更改</returns>
+        </member>
+        <member name="M:Apq.NotifyChange.NotifyChangeProperty`1.OnChanged(`0,`0)">
+            <summary>
+            更改后(派生类重写时可以直接调用Fire方法而不调用此方法)
+            </summary>
+        </member>
+        <member name="M:Apq.NotifyChange.NotifyChangeProperty`1.FireChanging(`0,`0)">
+            <summary>
+            仅触发事件(暂停则不触发)
+            </summary>
+            <returns>是否阻止更改</returns>
+        </member>
+        <member name="M:Apq.NotifyChange.NotifyChangeProperty`1.FireChanged(`0,`0)">
+            <summary>
+            仅触发事件(暂停则不触发)
+            </summary>
+        </member>
+        <member name="T:Apq.NotifyChange.NotifyPropertyChange">
+            <summary>
+            属性更改通知(可暂停)
+            </summary>
+            <remarks></remarks>
+        </member>
+        <member name="F:Apq.NotifyChange.NotifyPropertyChange.EventSuspendAnyProperty">
+            <summary>
+            表示用于阻止任意属性的更改事件的可用名称["All", "Any"]
+            </summary>
+        </member>
+        <member name="M:Apq.NotifyChange.NotifyPropertyChange.EventSuspendList_Contains(System.Collections.Generic.List{System.String},System.String)">
+            <summary>
+            暂停列表中是否包含指定名称
+            </summary>
+            <returns>如果列表中包含了“任意属性”,则一定包含(即返回true)</returns>
+        </member>
+        <member name="M:Apq.NotifyChange.NotifyPropertyChange.Dispose(System.Boolean)">
+            <param name="disposing">指定释放类型{true:托管对象,false:未托管对象}</param>
+        </member>
+        <member name="M:Apq.NotifyChange.NotifyPropertyChange.EventSuspend_PropertyChanging(System.String,System.Boolean)">
+            <summary>
+            暂停或恢复 引发属性即将更改事件
+            </summary>
+            <param name="propertyName">属性名("All"/"Any"表示任意属性)</param>
+            <param name="Resume">是否恢复引发事件</param>
+        </member>
+        <member name="E:Apq.NotifyChange.NotifyPropertyChange.PropertyChanging">
+            <summary>
+            属性即将更改事件
+            </summary>
+        </member>
+        <member name="M:Apq.NotifyChange.NotifyPropertyChange.OnPropertyChanging(System.String,System.Object,System.Object)">
+            <summary>
+            通知属性即将更改
+            </summary>
+        </member>
+        <member name="M:Apq.NotifyChange.NotifyPropertyChange.FirePropertyChanging(System.String,System.Object,System.Object)">
+            <summary>
+            仅触发事件(暂停则不触发)
+            </summary>
+            <returns>是否阻止更改</returns>
+        </member>
+        <member name="M:Apq.NotifyChange.NotifyPropertyChange.EventSuspend_PropertyChanged(System.String,System.Boolean)">
+            <summary>
+            暂停或恢复 引发属性已更改事件
+            </summary>
+            <param name="propertyName">属性名("All"/"Any"表示任意属性)</param>
+            <param name="Resume">是否恢复引发事件</param>
+        </member>
+        <member name="E:Apq.NotifyChange.NotifyPropertyChange.PropertyChanged">
+            <summary>
+            属性已更改事件
+            </summary>
+        </member>
+        <member name="M:Apq.NotifyChange.NotifyPropertyChange.OnPropertyChanged(System.String,System.Object,System.Object)">
+            <summary>
+            通知属性已更改
+            </summary>
+        </member>
+        <member name="M:Apq.NotifyChange.NotifyPropertyChange.FirePropertyChanged(System.String,System.Object,System.Object)">
+            <summary>
+            仅触发事件(暂停则不触发)
+            </summary>
+        </member>
+        <member name="T:Apq.NotifyChange.PropertyChangeEventArgs">
+            <summary>
+            属性更改事件参数
+            </summary>
+        </member>
+        <member name="M:Apq.NotifyChange.PropertyChangeEventArgs.#ctor(System.String)">
+            <summary>
+            属性更改事件参数
+            </summary>
+        </member>
+        <member name="P:Apq.NotifyChange.PropertyChangeEventArgs.PropertyName">
+            <summary>
+            属性名
+            </summary>
+        </member>
+        <member name="P:Apq.NotifyChange.PropertyChangeEventArgs.Cancel">
+            <summary>
+            指示是否取消(中断后续流程)
+            </summary>
+        </member>
+        <member name="P:Apq.NotifyChange.PropertyChangeEventArgs.OriginalValue">
+            <summary>
+            原值
+            </summary>
+        </member>
+        <member name="P:Apq.NotifyChange.PropertyChangeEventArgs.NewValue">
+            <summary>
+            新值
+            </summary>
+        </member>
+        <member name="T:Apq.PlAccessor.PHP.QueryStringBuilder">
+            <summary>
+             Helps up build a query string by converting an object into a set of named-values and making a query string out of it.
+            </summary>
+        </member>
+        <member name="M:Apq.PlAccessor.PHP.QueryStringBuilder.BuildQueryString(System.Object,System.String)">
+            <summary>
+            相当于PHP中的 http_build_query
+            </summary>
+        </member>
+        <member name="M:Apq.PlAccessor.PHP.QueryStringBuilder.GetUriString(System.String)">
+            <summary>
+             Convert the key-value pairs that we've collected into an actual query string.
+            </summary>
+        </member>
+        <member name="M:Apq.PlAccessor.PHP.QueryStringBuilder.AddEntry(System.String,System.Object,System.Boolean)">
+            <summary> Adds a single entry to the collection. </summary>
+            <param name="prefix"> The prefix to use when generating the key of the entry. Can be null. </param>
+            <param name="instance"> The instance to add.
+             
+             - If the instance is a dictionary, the entries determine the key and values.
+             - If the instance is a collection, the keys will be the index of the entries, and the value
+             will be each item in the collection.
+             - If allowObjects is true, then the object's properties' names will be the keys, and the
+             values of the properties will be the values.
+             - Otherwise the instance is added with the given prefix to the collection of items. </param>
+            <param name="allowObjects"> true to add the properties of the given instance (if the object is
+             not a collection or dictionary), false to add the object as a key-value pair. </param>
+        </member>
+        <member name="M:Apq.PlAccessor.PHP.QueryStringBuilder.Add(System.String,System.Collections.Generic.IEnumerable{Apq.PlAccessor.PHP.QueryStringBuilder.Entry})">
+            <summary> Adds the given collection of entries. </summary>
+        </member>
+        <member name="M:Apq.PlAccessor.PHP.QueryStringBuilder.GetObjectAdapter(System.Object)">
+            <summary>
+             Returns a collection of entries that represent the properties on the object.
+            </summary>
+        </member>
+        <member name="M:Apq.PlAccessor.PHP.QueryStringBuilder.GetArrayAdapter(System.Collections.ICollection)">
+            <summary>
+             Returns a collection of entries that represent items in the collection.
+            </summary>
+        </member>
+        <member name="M:Apq.PlAccessor.PHP.QueryStringBuilder.GetDictionaryAdapter(System.Collections.IDictionary)">
+            <summary>
+             Returns a collection of entries that represent items in the dictionary.
+            </summary>
+        </member>
+        <member name="T:Apq.RandomString">
+            <summary>
+            随机字符串生成器
+            </summary>
+        </member>
+        <member name="P:Apq.RandomString.SimpleChars">
+            <summary>
+            易于辨识的字母数字范围(10个数字+小写优先)
+            </summary>
+        </member>
+        <member name="P:Apq.RandomString.SimpleChars2">
+            <summary>
+            易于辨识的字母数字范围(10个数字+大写优先)
+            </summary>
+        </member>
+        <member name="M:Apq.RandomString.Random(System.Int32,System.Boolean,System.Char[])">
+            <summary>
+            生成随机字符串
+            </summary>
+            <param name="Length">指定长度</param>
+            <param name="Repeat">是否允许重复</param>
+            <param name="All">字符集</param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.RandomString.Random(System.Int32,System.Boolean,System.String)">
+            <summary>
+            生成随机字符串
+            </summary>
+            <param name="Length">指定长度</param>
+            <param name="Repeat">是否允许重复</param>
+            <param name="All">字符集</param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.RandomString.Random(System.UInt32,System.Int32,System.Boolean,System.Char[])">
+            <summary>
+            返回指定数量,指定长度的随机字符串
+            </summary>
+            <param name="Count">指定的数量</param>
+            <param name="Length">指定的长度</param>
+            <param name="Repeat">是否允许重复</param>
+            <param name="All">字符集</param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.RandomString.Random(System.UInt32,System.Int32,System.Boolean,System.String)">
+            <summary>
+            返回指定数量,指定长度的随机字符串
+            </summary>
+            <param name="Count">指定的数量</param>
+            <param name="Length">指定的长度</param>
+            <param name="Repeat">是否允许重复</param>
+            <param name="All">字符集</param>
+            <returns></returns>
+        </member>
+        <member name="T:Apq.Reflection.TypeCache">
+            <summary>
+            类型缓存,避免重复读取类型
+            </summary>
+        </member>
+        <member name="M:Apq.Reflection.TypeCache.Init">
+            <summary>
+            对新创建的实例进行初始化
+            </summary>
+        </member>
+        <member name="M:Apq.Reflection.TypeCache.GetAssembly(System.String)">
+            <summary>
+            获取程序集,缓存中不存在时,按路径加载到缓存
+            </summary>
+            <param name="dllPath">程序集路径</param>
+        </member>
+        <member name="M:Apq.Reflection.TypeCache.GetType(System.String,System.String)">
+            <summary>
+            获取类型,缓存中不存在时,自动寻找类型并加入缓存
+            </summary>
+            <param name="fullClassName">类全名</param>
+            <param name="dllPath">指定在哪个程序集中寻找</param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.Reflection.TypeCache.AddType(System.String,System.Type,System.Boolean)">
+            <summary>
+            将类型添加到缓存
+            </summary>
+            <param name="fullClassName">类全名</param>
+            <param name="type"></param>
+            <param name="replace">重复添加时是否替换</param>
+            <remarks>程序集加入缓存使用GetAssembly方法</remarks>
+        </member>
+        <member name="T:Apq.Security.Cryptography.AesHelper">
+            <summary>
+            AesHelper(对称加密)
+            </summary>
+        </member>
+        <member name="M:Apq.Security.Cryptography.AesHelper.FormatKey(System.Byte[])">
+            <summary>
+            格式化密钥
+            </summary>
+            <param name="aesKey">密钥</param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.Security.Cryptography.AesHelper.EncryptFile(System.String,System.String,System.Byte[],System.Byte[],System.Security.Cryptography.CipherMode,System.Security.Cryptography.PaddingMode)">
+            <summary>
+            加密文件
+            </summary>
+            <param name="inName">来源文件</param>
+            <param name="outName">输出文件</param>
+            <param name="Key">加密密钥</param>
+            <param name="IV">初始向量</param>
+            <param name="cipherMode">块密码模式</param>
+            <param name="paddingMode">填充模式</param>
+        </member>
+        <member name="M:Apq.Security.Cryptography.AesHelper.DecryptFile(System.String,System.String,System.Byte[],System.Byte[],System.Security.Cryptography.CipherMode,System.Security.Cryptography.PaddingMode)">
+            <summary>
+            解密文件
+            </summary>
+            <param name="inName">来源文件</param>
+            <param name="outName">输出文件</param>
+            <param name="Key">解密密钥</param>
+            <param name="IV">初始向量</param>
+            <param name="cipherMode">块密码模式</param>
+            <param name="paddingMode">填充模式</param>
+        </member>
+        <member name="M:Apq.Security.Cryptography.AesHelper.EncryptString(System.String,System.Byte[],System.Byte[],System.Security.Cryptography.CipherMode,System.Security.Cryptography.PaddingMode)">
+            <summary>
+            加密字符串
+            </summary>
+            <param name="PlainText">原始字符串</param>
+            <param name="Key">加密密钥</param>
+            <param name="IV">初始向量</param>
+            <param name="cipherMode">块密码模式</param>
+            <param name="paddingMode">填充模式</param>
+            <returns>Base64编码后的字符串</returns>
+        </member>
+        <member name="M:Apq.Security.Cryptography.AesHelper.DecryptString(System.String,System.Byte[],System.Byte[],System.Security.Cryptography.CipherMode,System.Security.Cryptography.PaddingMode)">
+            <summary>
+            解密字符串
+            </summary>
+            <param name="CypherText">加密后的Base64字符串</param>
+            <param name="Key">解密密钥</param>
+            <param name="IV">初始向量</param>
+            <param name="cipherMode">块密码模式</param>
+            <param name="paddingMode">填充模式</param>
+        </member>
+        <member name="M:Apq.Security.Cryptography.AesHelper.EncryptString(System.String,System.String,System.String,System.Text.Encoding,System.Text.Encoding,System.Security.Cryptography.CipherMode,System.Security.Cryptography.PaddingMode)">
+            <summary>
+            加密字符串
+            </summary>
+            <param name="PlainText">原始字符串</param>
+            <param name="Key">加密密钥</param>
+            <param name="IV">初始向量</param>
+            <param name="textEncoding">原始串编码</param>
+            <param name="ivEncoding">初始向量编码</param>
+            <param name="cipherMode">块密码模式</param>
+            <param name="paddingMode">填充模式</param>
+            <returns>Base64编码后的字符串</returns>
+        </member>
+        <member name="M:Apq.Security.Cryptography.AesHelper.DecryptString(System.String,System.String,System.String,System.Text.Encoding,System.Text.Encoding,System.Security.Cryptography.CipherMode,System.Security.Cryptography.PaddingMode)">
+            <summary>
+            解密字符串
+            </summary>
+            <param name="CypherText">加密后的Base64字符串</param>
+            <param name="Key">解密密钥</param>
+            <param name="IV">初始向量</param>
+            <param name="keyEncoding">解密密钥编码</param>
+            <param name="ivEncoding">初始向量编码</param>
+            <param name="cipherMode">块密码模式</param>
+            <param name="paddingMode">填充模式</param>
+        </member>
+        <member name="T:Apq.Security.Cryptography.BCRSA.RSAKEY">
+            <summary>
+            KEY 结构体
+            </summary>
+        </member>
+        <member name="P:Apq.Security.Cryptography.BCRSA.RSAKEY.PublicKey">
+            <summary>
+            公钥
+            </summary>
+        </member>
+        <member name="P:Apq.Security.Cryptography.BCRSA.RSAKEY.PrivateKey">
+            <summary>
+            私钥
+            </summary>
+        </member>
+        <member name="M:Apq.Security.Cryptography.BCRSA.EncryptByPrivateKey(System.String,System.String)">
+            <summary>
+            私钥加密
+            </summary>
+            <param name="data">加密内容</param>
+            <param name="pemPrivateKey">私钥(Base64后的)</param>
+            <returns>返回Base64内容</returns>
+        </member>
+        <member name="M:Apq.Security.Cryptography.BCRSA.DecryptByPrivateKey(System.String,System.String)">
+            <summary>
+            私钥解密
+            </summary>
+            <param name="data">待解密的内容</param>
+            <param name="pemPrivateKey">私钥(Base64编码后的)</param>
+            <returns>返回明文</returns>
+        </member>
+        <member name="M:Apq.Security.Cryptography.BCRSA.EncryptByPublicKey(System.String,System.String)">
+            <summary>
+            公钥加密
+            </summary>
+            <param name="data">加密内容</param>
+            <param name="pemPublicKey">公钥(Base64编码后的)</param>
+            <returns>返回Base64内容</returns>
+        </member>
+        <member name="M:Apq.Security.Cryptography.BCRSA.DecryptByPublicKey(System.String,System.String)">
+            <summary>
+            公钥解密
+            </summary>
+            <param name="data">待解密的内容</param>
+            <param name="pemPublicKey">公钥(Base64编码后的)</param>
+            <returns>返回明文</returns>
+        </member>
+        <member name="M:Apq.Security.Cryptography.BCRSA.SignByPrivateKey_SHA1WithRSA(System.String,System.String)">
+            <summary>
+            用私钥签名
+            </summary>
+        </member>
+        <member name="M:Apq.Security.Cryptography.BCRSA.VerifyByPublicKey_SHA1WithRSA(System.String,System.String,System.String)">
+            <summary>
+            用公钥验签
+            </summary>
+        </member>
+        <member name="T:Apq.Security.Cryptography.DESHelper">
+            <summary>
+            DESHelper(对称加密,据说不太安全,应使用AES)
+            </summary>
+        </member>
+        <member name="M:Apq.Security.Cryptography.DESHelper.FormatKey(System.Byte[])">
+            <summary>
+            格式化密钥
+            </summary>
+            <param name="desKey">密钥</param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.Security.Cryptography.DESHelper.EncryptFile(System.String,System.String,System.Byte[],System.Byte[])">
+            <summary>
+            加密文件
+            </summary>
+            <param name="inName">来源文件</param>
+            <param name="outName">输出文件</param>
+            <param name="desKey">加密密钥</param>
+            <param name="desIV">初始向量</param>
+        </member>
+        <member name="M:Apq.Security.Cryptography.DESHelper.DecryptFile(System.String,System.String,System.Byte[],System.Byte[])">
+            <summary>
+            解密文件
+            </summary>
+            <param name="inName">来源文件</param>
+            <param name="outName">输出文件</param>
+            <param name="desKey">解密密钥</param>
+            <param name="desIV">初始向量</param>
+        </member>
+        <member name="M:Apq.Security.Cryptography.DESHelper.EncryptString(System.String,System.Byte[],System.Byte[])">
+            <summary>
+            加密字符串
+            </summary>
+            <param name="PlainText">原始字符串</param>
+            <param name="desKey">加密密钥</param>
+            <param name="desIV">初始向量</param>
+            <returns>Base64编码后的字符串</returns>
+        </member>
+        <member name="M:Apq.Security.Cryptography.DESHelper.DecryptString(System.String,System.Byte[],System.Byte[])">
+            <summary>
+            解密字符串
+            </summary>
+            <param name="CypherText">加密后的Base64字符串</param>
+            <param name="desKey">解密密钥</param>
+            <param name="desIV">初始向量</param>
+        </member>
+        <member name="M:Apq.Security.Cryptography.DESHelper.EncryptString(System.String,System.String,System.String,System.Text.Encoding,System.Text.Encoding)">
+            <summary>
+            加密字符串
+            </summary>
+            <param name="PlainText">原始字符串</param>
+            <param name="desKey">加密密钥</param>
+            <param name="desIV">初始向量</param>
+            <param name="keyEncoding">加密密钥编码</param>
+            <param name="ivEncoding">初始向量编码</param>
+            <returns>Base64编码后的字符串</returns>
+        </member>
+        <member name="M:Apq.Security.Cryptography.DESHelper.DecryptString(System.String,System.String,System.String,System.Text.Encoding,System.Text.Encoding)">
+            <summary>
+            解密字符串
+            </summary>
+            <param name="CypherText">加密后的Base64字符串</param>
+            <param name="desKey">解密密钥</param>
+            <param name="desIV">初始向量</param>
+            <param name="keyEncoding">解密密钥编码</param>
+            <param name="ivEncoding">初始向量编码</param>
+        </member>
+        <member name="T:Apq.Security.Cryptography.DSAHelper">
+            <summary>
+            DSA助手(数字签名)
+            </summary>
+        </member>
+        <member name="F:Apq.Security.Cryptography.DSAHelper.FileReadStep">
+            <summary>
+            文件操作时单次读取的最大字节数
+            </summary>
+        </member>
+        <member name="M:Apq.Security.Cryptography.DSAHelper.CreateKey(System.Boolean)">
+            <summary>
+            创建密钥对(XmlString),使用者应将结果保存到文件存档
+            </summary>
+            <param name="ContainsPKey">是否包含私钥</param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.Security.Cryptography.DSAHelper.SignString(System.String,System.String,System.Text.Encoding)">
+            <summary>
+            DSA签名
+            </summary>
+            <param name="PlainText">原始字符串</param>
+            <param name="xmlString">密钥(公钥私钥俱有)</param>
+            <param name="textEncoding">原始串编码</param>
+            <returns>Base64编码后的已签名字符串</returns>
+        </member>
+        <member name="M:Apq.Security.Cryptography.DSAHelper.VerifyString(System.String,System.String,System.String,System.Text.Encoding)">
+            <summary>
+            DSA验证
+            </summary>
+            <param name="CypherText">签名后的Base64字符串</param>
+            <param name="xmlString">密钥(至少含公钥)</param>
+            <param name="signString">签名串</param>
+            <param name="signEncoding">签名串编码</param>
+        </member>
+        <member name="T:Apq.Security.Cryptography.HMACSHA1Helper">
+            <summary>
+            HMAC-SHA1 Helper
+            </summary>
+        </member>
+        <member name="M:Apq.Security.Cryptography.HMACSHA1Helper.EncryptString(System.String,System.String,System.Text.Encoding,System.Text.Encoding)">
+            <summary>
+            字符串签名
+            </summary>
+            <param name="text">原始字符串</param>
+            <param name="key">密钥</param>
+            <param name="textEncoding">原始串编码</param>
+            <param name="keyEncoding">密钥编码</param>
+            <returns>签名结果(16进制)</returns>
+        </member>
+        <member name="M:Apq.Security.Cryptography.HMACSHA1Helper.EncryptString(System.String,System.Byte[],System.Text.Encoding)">
+            <summary>
+            字符串签名
+            </summary>
+            <param name="text">原始字符串</param>
+            <param name="key">密钥</param>
+            <param name="textEncoding">原始串编码</param>
+            <returns>签名结果(16进制)</returns>
+        </member>
+        <member name="T:Apq.Security.Cryptography.MD5Helper">
+            <summary>
+            MD5Helper
+            </summary>
+        </member>
+        <member name="M:Apq.Security.Cryptography.MD5Helper.EncryptString(System.String,System.Text.Encoding)">
+            <summary>
+            加密字符串
+            </summary>
+            <param name="PlainText">原始字符串</param>
+            <param name="textEncoding">原始串编码</param>
+            <returns>MD5串(16进制)</returns>
+        </member>
+        <member name="M:Apq.Security.Cryptography.MD5Helper.EncryptFile(System.String)">
+            <summary>
+            加密文件
+            </summary>
+            <param name="inName">文件地址</param>
+            <returns>MD5串(16进制)</returns>
+        </member>
+        <member name="T:Apq.Security.Cryptography.RSAHelper">
+            <summary>
+            RSA助手(非对称算法)
+            </summary>
+        </member>
+        <member name="P:Apq.Security.Cryptography.RSAHelper.FileReadStep">
+            <summary>
+            文件操作时单次读取的最大字节数
+            </summary>
+        </member>
+        <member name="M:Apq.Security.Cryptography.RSAHelper.CreateKey(System.Boolean)">
+            <summary>
+            创建密钥对(XmlString),使用者应将结果保存到文件存档
+            </summary>
+            <param name="ContainsPKey">是否包含私钥</param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.Security.Cryptography.RSAHelper.GetPubKey(System.String)">
+            <summary>
+            从私钥中提取公钥
+            </summary>
+            <param name="PriKey"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.Security.Cryptography.RSAHelper.EncryptFile(System.String,System.String,System.String,System.Security.Cryptography.RSAEncryptionPadding)">
+            <summary>
+            加密文件
+            </summary>
+            <param name="inName">来源文件</param>
+            <param name="outName">输出文件</param>
+            <param name="xmlString">密钥(至少含公钥)</param>
+            <param name="rsaPadding">填充模式</param>
+        </member>
+        <member name="M:Apq.Security.Cryptography.RSAHelper.DecryptFile(System.String,System.String,System.String,System.Security.Cryptography.RSAEncryptionPadding)">
+            <summary>
+            解密文件
+            </summary>
+            <param name="inName">来源文件</param>
+            <param name="outName">输出文件</param>
+            <param name="xmlString">密钥(公钥私钥俱有)</param>
+            <param name="rsaPadding">填充模式</param>
+        </member>
+        <member name="M:Apq.Security.Cryptography.RSAHelper.EncryptString(System.String,System.String,System.Text.Encoding,System.Security.Cryptography.RSAEncryptionPadding)">
+            <summary>
+            加密字符串
+            </summary>
+            <param name="PlainText">原始字符串</param>
+            <param name="xmlString">公钥</param>
+            <param name="textEncoding">原始串编码</param>
+            <returns>Base64编码后的字符串</returns>
+        </member>
+        <member name="M:Apq.Security.Cryptography.RSAHelper.DecryptString(System.String,System.String,System.Text.Encoding,System.Security.Cryptography.RSAEncryptionPadding)">
+            <summary>
+            解密字符串
+            </summary>
+            <param name="CypherText">加密后的Base64字符串</param>
+            <param name="textEncoding">原始串编码</param>
+            <param name="xmlString">私钥</param>
+        </member>
+        <member name="M:Apq.Security.Cryptography.RSAHelper.SignString(System.String,System.String,System.Text.Encoding)">
+            <summary>
+            RSA签名(SHA1)
+            </summary>
+            <param name="PlainText">原始字符串</param>
+            <param name="xmlString">私钥</param>
+            <param name="textEncoding">原始串编码</param>
+            <returns>Base64编码后的已签名字符串</returns>
+        </member>
+        <member name="M:Apq.Security.Cryptography.RSAHelper.VerifyString(System.String,System.String,System.String,System.Text.Encoding)">
+            <summary>
+            RSA验证(SHA1)
+            </summary>
+            <param name="CypherText">签名后的Base64字符串</param>
+            <param name="xmlString">公钥</param>
+            <param name="PlainText">原始串</param>
+            <param name="textEncoding">原始串编码</param>
+        </member>
+        <member name="T:Apq.Security.Cryptography.SymmetricAlgorithmHelper">
+            <summary>
+            对称算法助手
+            </summary>
+        </member>
+        <member name="F:Apq.Security.Cryptography.SymmetricAlgorithmHelper.FileReadStep">
+            <summary>
+            文件操作时单次读取的最大字节数
+            </summary>
+        </member>
+        <member name="M:Apq.Security.Cryptography.SymmetricAlgorithmHelper.FormatKey(System.Byte[],System.Int32)">
+            <summary>
+            格式化密钥,跳过全0字节,不足时补入0xFF
+            </summary>
+            <param name="Key">密钥</param>
+            <param name="keySize">返回'位'的长度(因为处理时的最小长度是字节,所以该值应是8的倍数)</param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.Security.Cryptography.SymmetricAlgorithmHelper.EncryptFile(System.String,System.String,System.Security.Cryptography.SymmetricAlgorithm)">
+            <summary>
+            加密文件
+            </summary>
+            <param name="inName">来源文件</param>
+            <param name="outName">输出文件</param>
+            <param name="Algorithm">对称算法</param>
+        </member>
+        <member name="M:Apq.Security.Cryptography.SymmetricAlgorithmHelper.DecryptFile(System.String,System.String,System.Security.Cryptography.SymmetricAlgorithm)">
+            <summary>
+            解密文件
+            </summary>
+            <param name="inName">来源文件</param>
+            <param name="outName">输出文件</param>
+            <param name="Algorithm">对称算法</param>
+        </member>
+        <member name="M:Apq.Security.Cryptography.SymmetricAlgorithmHelper.EncryptString(System.String,System.Security.Cryptography.SymmetricAlgorithm)">
+            <summary>
+            加密字符串
+            </summary>
+            <param name="PlainText">原始字符串</param>
+            <param name="Algorithm">对称算法</param>
+            <returns>Base64编码后的字符串</returns>
+        </member>
+        <member name="M:Apq.Security.Cryptography.SymmetricAlgorithmHelper.DecryptString(System.String,System.Security.Cryptography.SymmetricAlgorithm)">
+            <summary>
+            解密字符串
+            </summary>
+            <param name="CypherText">加密后的Base64字符串</param>
+            <param name="Algorithm">对称算法</param>
+            <returns>原始字符串</returns>
+        </member>
+        <member name="T:Apq.Tasking.CycleTask">
+            <summary>
+            给任务命名,并将任务和取消令牌关联起来。并提供循环任务模板给子类。
+            </summary>
+        </member>
+        <member name="P:Apq.Tasking.CycleTask.Interval">
+            <summary>
+            循环间隔时间。默认40,单位毫秒。
+            </summary>
+        </member>
+        <member name="M:Apq.Tasking.CycleTask.CycleWork">
+            <summary>
+            循环任务模板
+            </summary>
+        </member>
+        <member name="M:Apq.Tasking.CycleTask.BeforeCycleWork">
+            <summary>
+            循环前的工作,一般是准备类工作
+            </summary>
+            <returns>返回false表示准备工作不成功,任务直接结束</returns>
+        </member>
+        <member name="E:Apq.Tasking.CycleTask.BeforeCycleWorkCompleted">
+            <summary>
+            通知循环前的工作完成
+            </summary>
+        </member>
+        <member name="M:Apq.Tasking.CycleTask.CycleSubWork">
+            <summary>
+            单次循环的工作
+            </summary>
+        </member>
+        <member name="M:Apq.Tasking.CycleTask.FinallyCycleWork">
+            <summary>
+            任务结束时的工作
+            </summary>
+        </member>
+        <member name="P:Apq.Tasking.CycleTask.CTask">
+            <summary>
+            启动的任务
+            </summary>
+        </member>
+        <member name="M:Apq.Tasking.CycleTask.Start(System.Threading.Tasks.TaskCreationOptions)">
+            <summary>
+            启动(未启动过或已运行结束的任务才能真正的再次启动)
+            </summary>
+        </member>
+        <member name="M:Apq.Tasking.CycleTask.Stop">
+            <summary>
+            通知任务取消
+            </summary>
+        </member>
+        <member name="M:Apq.Tasking.CycleTask.WhileDo(System.Func{System.Threading.Tasks.Task{System.Boolean}},System.Func{System.Threading.Tasks.Task{System.Boolean}},System.Func{System.Threading.Tasks.Task},System.Action{System.Boolean},System.Boolean,System.Int32,System.Int32)">
+            <summary>
+            重复执行指定的操作,直到达成停止条件
+            </summary>
+            <param name="stopTask">停止条件,返回值为true后停止操作</param>
+            <param name="doTask">执行的操作,返回true表示执行了操作</param>
+            <param name="success">达成后的操作</param>
+            <param name="fail">最终未达成时的操作。超时时参数值为true。</param>
+            <param name="knit">操作失败时是否立即重做(即:true表示不等待循环间隔)</param>
+            <param name="Timeout">超时时间。单位毫秒。</param>
+            <param name="Interval">循环操作的间隔时间。单位毫秒。</param>
+            <returns>是否达成</returns>
+        </member>
+        <member name="M:Apq.Tasking.CycleTask.WhileDo(System.Func{System.Boolean},System.Func{System.Threading.Tasks.Task{System.Boolean}},System.Func{System.Threading.Tasks.Task},System.Action{System.Boolean},System.Boolean,System.Int32,System.Int32)">
+            <summary>
+            重复执行指定的操作,直到达成停止条件
+            </summary>
+            <param name="stopFunc">停止条件,返回值为true后停止操作</param>
+            <param name="doTask">执行的操作,返回true表示执行了操作</param>
+            <param name="success">达成后的操作</param>
+            <param name="fail">最终未达成时的操作。超时时参数值为true。</param>
+            <param name="knit">操作失败时是否立即重做(即:true表示不等待循环间隔)</param>
+            <param name="Timeout">超时时间。单位毫秒。</param>
+            <param name="Interval">循环操作的间隔时间。单位毫秒。</param>
+            <returns>是否达成</returns>
+        </member>
+        <member name="M:Apq.Tasking.CycleTask.WhileDo(System.Func{System.Boolean},System.Func{System.Boolean},System.Func{System.Threading.Tasks.Task},System.Action{System.Boolean},System.Boolean,System.Int32,System.Int32)">
+            <summary>
+            重复执行指定的操作,直到达成停止条件
+            </summary>
+            <param name="stopFunc">停止条件,返回值为true后停止操作</param>
+            <param name="doFunc">执行的操作,返回true表示执行了操作</param>
+            <param name="success">达成后的操作</param>
+            <param name="fail">最终未达成时的操作。超时时参数值为true。</param>
+            <param name="knit">操作失败时是否立即重做(即:true表示不等待循环间隔)</param>
+            <param name="Timeout">超时时间。单位毫秒。</param>
+            <param name="Interval">循环操作的间隔时间。单位毫秒。</param>
+            <returns>是否达成</returns>
+        </member>
+        <member name="M:Apq.Tasking.CycleTask.DoUntil(System.Func{System.Threading.Tasks.Task{System.Boolean}},System.Func{System.Threading.Tasks.Task{System.Boolean}},System.Func{System.Threading.Tasks.Task},System.Action{System.Boolean},System.Boolean,System.Int32,System.Int32)">
+            <summary>
+            重复执行指定的操作,直到成功或超时
+            </summary>
+            <param name="doTask">执行的操作,返回true表示执行了操作</param>
+            <param name="stopTask">返回值为true后停止操作</param>
+            <param name="success">成功后的操作</param>
+            <param name="fail">失败后的操作。超时时参数值为true。</param>
+            <param name="knit">操作失败时是否立即重做(即:true表示不等待循环间隔)</param>
+            <param name="Timeout">超时时间。单位毫秒。</param>
+            <param name="Interval">循环操作的间隔时间。单位毫秒。</param>
+            <returns>是否操作成功</returns>
+        </member>
+        <member name="M:Apq.Tasking.CycleTask.DoUntil(System.Func{System.Threading.Tasks.Task{System.Boolean}},System.Func{System.Boolean},System.Func{System.Threading.Tasks.Task},System.Action{System.Boolean},System.Boolean,System.Int32,System.Int32)">
+            <summary>
+            重复执行指定的操作,直到成功或超时
+            </summary>
+            <param name="doTask">执行的操作,返回true表示执行了操作</param>
+            <param name="stopFunc">返回值为true后停止操作</param>
+            <param name="success">成功后的操作</param>
+            <param name="fail">失败后的操作。超时时参数值为true。</param>
+            <param name="knit">操作失败时是否立即重做(即:true表示不等待循环间隔)</param>
+            <param name="Timeout">超时时间。单位毫秒。</param>
+            <param name="Interval">循环操作的间隔时间。单位毫秒。</param>
+            <returns>是否操作成功</returns>
+        </member>
+        <member name="M:Apq.Tasking.CycleTask.DoUntil(System.Func{System.Boolean},System.Func{System.Boolean},System.Func{System.Threading.Tasks.Task},System.Action{System.Boolean},System.Boolean,System.Int32,System.Int32)">
+            <summary>
+            重复执行指定的操作,直到成功或超时
+            </summary>
+            <param name="doFunc">执行的操作,返回true表示执行了操作</param>
+            <param name="stopFunc">返回值为true后停止操作</param>
+            <param name="success">成功后的操作</param>
+            <param name="fail">失败后的操作。超时时参数值为true。</param>
+            <param name="knit">操作失败时是否立即重做(即:true表示不等待循环间隔)</param>
+            <param name="Timeout">超时时间。单位毫秒。</param>
+            <param name="Interval">循环操作的间隔时间。单位毫秒。</param>
+            <returns>是否操作成功</returns>
+        </member>
+        <member name="M:Apq.Tasking.TaskHelper.WaitUntil(System.Threading.CancellationToken,System.Func{System.Boolean},System.Int32,System.Int32)">
+            <summary>
+            等待到条件成立或超时
+            </summary>
+            <returns>退出时条件是否达成(没有达成的原因是超时)</returns>
+        </member>
+        <member name="M:Apq.Tasking.TaskHelper.WaitUntil(System.Threading.CancellationToken,System.Func{System.Boolean},System.Func{System.Boolean},System.Int32,System.Int32)">
+            <summary>
+            在满足前提时,等待到条件成立或超时
+            </summary>
+            <returns>退出时条件是否达成(没有达成的原因是超时或前提已不成立)</returns>
+        </member>
+        <member name="M:Apq.Tasking.TaskHelper.DoCycle(System.Threading.CancellationTokenSource,System.Func{System.Threading.Tasks.Task{System.Boolean}},System.Func{System.Threading.Tasks.Task{System.Boolean}},System.Func{System.Threading.Tasks.Task},System.Int32,System.Int32)">
+            <summary>
+            执行循环任务
+            </summary>
+            <param name="TokenSource">取消通知</param>
+            <param name="beforeTask">循环前任务,返回true表示取消循环</param>
+            <param name="cycleTask">循环任务体,返回true表示不再执行下一轮</param>
+            <param name="finallyTask">结束时的任务(一定会执行)</param>
+            <param name="Timeout">循环的超时时间(不包含循环前任务的耗时)。单位毫秒。0为不超时</param>
+            <param name="Interval">循环的间隔时间。单位毫秒。</param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.Tasking.TaskHelper.DoCycle(System.Threading.CancellationTokenSource,System.Func{System.Threading.Tasks.Task{System.Boolean}},System.Func{System.Threading.Tasks.Task{System.Boolean}},System.Action,System.Int32,System.Int32)">
+            <summary>
+            执行循环任务
+            </summary>
+            <param name="TokenSource">取消通知</param>
+            <param name="beforeTask">循环前任务,返回true表示取消循环</param>
+            <param name="cycleTask">循环任务体,返回true表示不再执行下一轮</param>
+            <param name="finallyAction">结束时的任务(一定会执行)</param>
+            <param name="Timeout">循环的超时时间(不包含循环前任务的耗时)。单位毫秒。0为不超时</param>
+            <param name="Interval">循环的间隔时间。单位毫秒。</param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.Tasking.TaskHelper.DoCycle(System.Threading.CancellationTokenSource,System.Func{System.Threading.Tasks.Task{System.Boolean}},System.Func{System.Boolean},System.Func{System.Threading.Tasks.Task},System.Int32,System.Int32)">
+            <summary>
+            执行循环任务
+            </summary>
+            <param name="TokenSource">取消通知</param>
+            <param name="beforeTask">循环前任务,返回true表示取消循环</param>
+            <param name="cycleFunc">循环任务体,返回true表示不再执行下一轮</param>
+            <param name="finallyTask">结束时的任务(一定会执行)</param>
+            <param name="Timeout">循环的超时时间(不包含循环前任务的耗时)。单位毫秒。0为不超时</param>
+            <param name="Interval">循环的间隔时间。单位毫秒。</param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.Tasking.TaskHelper.DoCycle(System.Threading.CancellationTokenSource,System.Func{System.Threading.Tasks.Task{System.Boolean}},System.Func{System.Boolean},System.Action,System.Int32,System.Int32)">
+            <summary>
+            执行循环任务
+            </summary>
+            <param name="TokenSource">取消通知</param>
+            <param name="beforeTask">循环前任务,返回true表示取消循环</param>
+            <param name="cycleFunc">循环任务体,返回true表示不再执行下一轮</param>
+            <param name="finallyAction">结束时的任务(一定会执行)</param>
+            <param name="Timeout">循环的超时时间(不包含循环前任务的耗时)。单位毫秒。0为不超时</param>
+            <param name="Interval">循环的间隔时间。单位毫秒。</param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.Tasking.TaskHelper.DoCycle(System.Threading.CancellationTokenSource,System.Func{System.Boolean},System.Func{System.Threading.Tasks.Task{System.Boolean}},System.Func{System.Threading.Tasks.Task},System.Int32,System.Int32)">
+            <summary>
+            执行循环任务
+            </summary>
+            <param name="TokenSource">取消通知</param>
+            <param name="beforeFunc">循环前任务,返回true表示取消循环</param>
+            <param name="cycleTask">循环任务体,返回true表示不再执行下一轮</param>
+            <param name="finallyTask">结束时的任务(一定会执行)</param>
+            <param name="Timeout">循环的超时时间(不包含循环前任务的耗时)。单位毫秒。0为不超时</param>
+            <param name="Interval">循环的间隔时间。单位毫秒。</param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.Tasking.TaskHelper.DoCycle(System.Threading.CancellationTokenSource,System.Func{System.Boolean},System.Func{System.Threading.Tasks.Task{System.Boolean}},System.Action,System.Int32,System.Int32)">
+            <summary>
+            执行循环任务
+            </summary>
+            <param name="TokenSource">取消通知</param>
+            <param name="beforeFunc">循环前任务,返回true表示取消循环</param>
+            <param name="cycleTask">循环任务体,返回true表示不再执行下一轮</param>
+            <param name="finallyAction">结束时的任务(一定会执行)</param>
+            <param name="Timeout">循环的超时时间(不包含循环前任务的耗时)。单位毫秒。0为不超时</param>
+            <param name="Interval">循环的间隔时间。单位毫秒。</param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.Tasking.TaskHelper.DoCycle(System.Threading.CancellationTokenSource,System.Func{System.Boolean},System.Func{System.Boolean},System.Func{System.Threading.Tasks.Task},System.Int32,System.Int32)">
+            <summary>
+            执行循环任务
+            </summary>
+            <param name="TokenSource">取消通知</param>
+            <param name="beforeFunc">循环前任务,返回true表示取消循环</param>
+            <param name="cycleFunc">循环任务体,返回true表示不再执行下一轮</param>
+            <param name="finallyTask">结束时的任务(一定会执行)</param>
+            <param name="Timeout">循环的超时时间(不包含循环前任务的耗时)。单位毫秒。0为不超时</param>
+            <param name="Interval">循环的间隔时间。单位毫秒。</param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.Tasking.TaskHelper.DoCycle(System.Threading.CancellationTokenSource,System.Func{System.Boolean},System.Func{System.Boolean},System.Action,System.Int32,System.Int32)">
+            <summary>
+            执行循环任务
+            </summary>
+            <param name="TokenSource">取消通知</param>
+            <param name="beforeFunc">循环前任务,返回true表示取消循环</param>
+            <param name="cycleFunc">循环任务体,返回true表示不再执行下一轮</param>
+            <param name="finallyAction">结束时的任务(一定会执行)</param>
+            <param name="Timeout">循环的超时时间(不包含循环前任务的耗时)。单位毫秒。0为不超时</param>
+            <param name="Interval">循环的间隔时间。单位毫秒。</param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.Tasking.TaskHelper.WhileDo(System.Threading.CancellationTokenSource,System.Func{System.Threading.Tasks.Task{System.Boolean}},System.Func{System.Threading.Tasks.Task{System.Boolean}},System.Func{System.Threading.Tasks.Task},System.Action{System.Boolean},System.Boolean,System.Int32,System.Int32)">
+            <summary>
+            重复执行指定的操作,直到达成停止条件
+            </summary>
+            <param name="TokenSource">取消通知</param>
+            <param name="stopCondition">停止条件,返回值为true后停止操作</param>
+            <param name="doTask">执行的操作,返回true表示执行了操作</param>
+            <param name="success">达成后的操作</param>
+            <param name="fail">最终未达成时的操作。超时时参数值为true。</param>
+            <param name="knit">操作失败时是否立即重做(即:true表示不等待循环间隔)</param>
+            <param name="Timeout">超时时间。单位毫秒。</param>
+            <param name="Interval">循环操作的间隔时间。单位毫秒。</param>
+            <returns>是否达成</returns>
+        </member>
+        <member name="M:Apq.Tasking.TaskHelper.WhileDo(System.Threading.CancellationTokenSource,System.Func{System.Boolean},System.Func{System.Threading.Tasks.Task{System.Boolean}},System.Func{System.Threading.Tasks.Task},System.Action{System.Boolean},System.Boolean,System.Int32,System.Int32)">
+            <summary>
+            重复执行指定的操作,直到达成停止条件
+            </summary>
+            <param name="TokenSource">取消通知</param>
+            <param name="stopCondition">停止条件,返回值为true后停止操作</param>
+            <param name="doTask">执行的操作,返回true表示执行了操作</param>
+            <param name="success">达成后的操作</param>
+            <param name="fail">最终未达成时的操作。超时时参数值为true。</param>
+            <param name="knit">操作失败时是否立即重做(即:true表示不等待循环间隔)</param>
+            <param name="Timeout">超时时间。单位毫秒。</param>
+            <param name="Interval">循环操作的间隔时间。单位毫秒。</param>
+            <returns>是否达成</returns>
+        </member>
+        <member name="M:Apq.Tasking.TaskHelper.WhileDo(System.Threading.CancellationTokenSource,System.Func{System.Boolean},System.Func{System.Boolean},System.Func{System.Threading.Tasks.Task},System.Action{System.Boolean},System.Boolean,System.Int32,System.Int32)">
+            <summary>
+            重复执行指定的操作,直到达成停止条件
+            </summary>
+            <param name="TokenSource">取消通知</param>
+            <param name="stopCondition">停止条件,返回值为true后停止操作</param>
+            <param name="doFunc">执行的操作,返回true表示执行了操作</param>
+            <param name="success">达成后的操作</param>
+            <param name="fail">最终未达成时的操作。超时时参数值为true。</param>
+            <param name="knit">操作失败时是否立即重做(即:true表示不等待循环间隔)</param>
+            <param name="Timeout">超时时间。单位毫秒。</param>
+            <param name="Interval">循环操作的间隔时间。单位毫秒。</param>
+            <returns>是否达成</returns>
+        </member>
+        <member name="M:Apq.Tasking.TaskHelper.DoUntil(System.Threading.CancellationTokenSource,System.Func{System.Threading.Tasks.Task{System.Boolean}},System.Func{System.Threading.Tasks.Task{System.Boolean}},System.Func{System.Threading.Tasks.Task},System.Action{System.Boolean},System.Boolean,System.Int32,System.Int32)">
+            <summary>
+            重复执行指定的操作,直到成功或超时
+            </summary>
+            <param name="TokenSource">取消通知</param>
+            <param name="doTask">执行的操作,返回true表示执行了操作</param>
+            <param name="stopCondition">返回值为true后停止操作</param>
+            <param name="success">成功后的操作</param>
+            <param name="fail">失败后的操作。超时时参数值为true。</param>
+            <param name="knit">操作失败时是否立即重做(即:true表示不等待循环间隔)</param>
+            <param name="Timeout">超时时间。单位毫秒。0为不超时</param>
+            <param name="Interval">循环操作的间隔时间。单位毫秒。</param>
+            <returns>是否操作成功</returns>
+        </member>
+        <member name="M:Apq.Tasking.TaskHelper.DoUntil(System.Threading.CancellationTokenSource,System.Func{System.Threading.Tasks.Task{System.Boolean}},System.Func{System.Boolean},System.Func{System.Threading.Tasks.Task},System.Action{System.Boolean},System.Boolean,System.Int32,System.Int32)">
+            <summary>
+            重复执行指定的操作,直到成功或超时
+            </summary>
+            <param name="TokenSource">取消通知</param>
+            <param name="doTask">执行的操作,返回true表示执行了操作</param>
+            <param name="stopCondition">返回值为true后停止操作</param>
+            <param name="success">成功后的操作</param>
+            <param name="fail">失败后的操作。超时时参数值为true。</param>
+            <param name="knit">操作失败时是否立即重做(即:true表示不等待循环间隔)</param>
+            <param name="Timeout">超时时间。单位毫秒。0为不超时</param>
+            <param name="Interval">循环操作的间隔时间。单位毫秒。</param>
+            <returns>是否操作成功</returns>
+        </member>
+        <member name="M:Apq.Tasking.TaskHelper.DoUntil(System.Threading.CancellationTokenSource,System.Func{System.Boolean},System.Func{System.Boolean},System.Func{System.Threading.Tasks.Task},System.Action{System.Boolean},System.Boolean,System.Int32,System.Int32)">
+            <summary>
+            重复执行指定的操作,直到成功或超时
+            </summary>
+            <param name="TokenSource">取消通知</param>
+            <param name="doFunc">执行的操作,返回true表示执行了操作</param>
+            <param name="stopCondition">返回值为true后停止操作</param>
+            <param name="success">成功后的操作</param>
+            <param name="fail">失败后的操作。超时时参数值为true。</param>
+            <param name="knit">操作失败时是否立即重做(即:true表示不等待循环间隔)</param>
+            <param name="Timeout">超时时间。单位毫秒。0为不超时</param>
+            <param name="Interval">循环操作的间隔时间。单位毫秒。</param>
+            <returns>是否操作成功</returns>
+        </member>
+        <member name="T:Apq.Tasking.TaskResult">
+            <summary>
+            表示任务结果
+            </summary>
+        </member>
+        <member name="P:Apq.Tasking.TaskResult.Task">
+            <summary>
+            哪个任务的结果
+            </summary>
+        </member>
+        <member name="P:Apq.Tasking.TaskResult.Success">
+            <summary>
+            是否成功
+            </summary>
+        </member>
+        <member name="P:Apq.Tasking.TaskResult.Message">
+            <summary>
+            错误信息或输出信息
+            </summary>
+        </member>
+        <member name="P:Apq.Tasking.TaskResult.Exception">
+            <summary>
+            异常
+            </summary>
+        </member>
+        <member name="P:Apq.Text.CsvTaskResult.FullFileNameWithoutExt_Pb">
+            <summary>
+            Pb文件完整路径(不含后缀)
+            </summary>
+        </member>
+        <member name="P:Apq.Text.CsvTaskResult.PbExt">
+            <summary>
+            Pb文件后缀(可以为空或.开头)
+            </summary>
+        </member>
+        <member name="P:Apq.Text.CsvTaskResult.HadReadCsv">
+            <summary>
+            有没有读取文件进行解析(只检查读取过的文件是否成功)
+            </summary>
+        </member>
+        <member name="P:Apq.Text.CsvTaskResult.ErrorCol">
+            <summary>
+            第几列出错
+            </summary>
+        </member>
+        <member name="P:Apq.Text.CsvTaskResult.ErrorColName">
+            <summary>
+            出错列名
+            </summary>
+        </member>
+        <member name="T:Apq.Text.TxtFileHelper">
+            <summary>
+            文本文件助手
+            </summary>
+        </member>
+        <member name="M:Apq.Text.TxtFileHelper.DetectEncoding(Apq.Text.TxtTaskResult,System.Single)">
+            <summary>
+            检测指定文本文件的编码格式
+            </summary>
+            <param name="result">要检测的文件及检测结果</param>
+            <param name="confidence">信心至少要达到该值才认为检测出了正确的文件编码</param>
+        </member>
+        <member name="M:Apq.Text.TxtFileHelper.ReadAllText(Apq.Text.TxtTaskResult,System.Single)">
+            <summary>
+            自动检测文件编码,并读取文件
+            </summary>
+            <param name="confidence">检测文件编码的最低信心</param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.Text.TxtFileHelper.ConvertEncoding(Apq.Text.TxtTaskResult,System.Text.Encoding,System.Threading.CancellationToken,System.Single)">
+            <summary>
+            对指定的文本文件进行编码转换
+            </summary>
+            <param name="result">要转换的文件及转换结果</param>
+            <param name="encoding">转换为该编码</param>
+            <param name="token">取消令牌</param>
+            <param name="confidence">信心至少要达到该值才认为检测出了正确的文件编码,并进行转换</param>
+        </member>
+        <member name="T:Apq.Text.TxtTaskResult">
+            <summary>
+            表示对文本文件进行处理的结果
+            </summary>
+        </member>
+        <member name="P:Apq.Text.TxtTaskResult.FullFileNameWithoutExt">
+            <summary>
+            文本文件完整路径(不含后缀)
+            </summary>
+        </member>
+        <member name="P:Apq.Text.TxtTaskResult.FileNameWithoutExt">
+            <summary>
+            不含目录和后缀的文件名
+            </summary>
+        </member>
+        <member name="P:Apq.Text.TxtTaskResult.FileExt">
+            <summary>
+            文件后缀(可以为空或.开头)
+            </summary>
+        </member>
+        <member name="P:Apq.Text.TxtTaskResult.Encoding">
+            <summary>
+            文件编码格式(检测或转换后有值)
+            </summary>
+        </member>
+        <member name="P:Apq.Text.TxtTaskResult.LineCount">
+            <summary>
+            总行数
+            </summary>
+        </member>
+        <member name="P:Apq.Text.TxtTaskResult.ErrorLine">
+            <summary>
+            第几行出错
+            </summary>
+        </member>
+        <member name="T:Apq.TreeNode`1">
+            <summary>
+            树节点(没有上级就是根节点了)
+            </summary>
+        </member>
+        <member name="P:Apq.TreeNode`1.Data">
+            <summary>
+            节点的数据
+            </summary>
+        </member>
+        <member name="P:Apq.TreeNode`1.Parent">
+            <summary>
+            上级节点
+            </summary>
+        </member>
+        <member name="P:Apq.TreeNode`1.Children">
+            <summary>
+            子级节点
+            </summary>
+        </member>
+        <member name="P:Apq.TreeNode`1.LayerNo">
+            <summary>
+            当前节点算第几层
+            </summary>
+            <remarks>一般根节点设为第0层</remarks>
+        </member>
+        <member name="P:Apq.TreeNode`1.PreNode">
+            <summary>
+            上一节点
+            </summary>
+        </member>
+        <member name="P:Apq.TreeNode`1.NextNode">
+            <summary>
+            下一节点
+            </summary>
+        </member>
+        <member name="M:Apq.TreeNode`1.Walk_Depth(System.Action{Apq.TreeNode{`0},System.Int32})">
+            <summary>
+            深度优先遍历
+            </summary>
+            <param name="action">(节点,第几个节点)</param>
+        </member>
+        <member name="M:Apq.TreeNode`1.Walk_Depth_Imp(Apq.TreeNode{`0},System.Action{Apq.TreeNode{`0},System.Int32},Apq.TreeWalkWatcher)">
+            <summary>
+            [递归]深度优先遍历
+            </summary>
+            <param name="action">(节点,第几个节点)</param>
+        </member>
+        <member name="M:Apq.TreeNode`1.Walk_Breadth(System.Action{Apq.TreeNode{`0},System.Int32})">
+            <summary>
+            广度优先遍历
+            </summary>
+            <param name="action">(节点,第几个节点)</param>
+            <remarks>先深度遍历将结果保存到Dic中,再遍历Dic</remarks>
+        </member>
+        <member name="M:Apq.TreeNode`1.GetLeafs">
+            <summary>
+            获取所有叶子节点
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="T:Apq.TreeWalkWatcher">
+            <summary>
+            对树进行遍历时的监视者(观察者)
+            </summary>
+        </member>
+        <member name="P:Apq.TreeWalkWatcher.Count">
+            <summary>
+            第几次访问节点
+            </summary>
+        </member>
+        <member name="M:Apq.TxtFileEncoder.GetEncoding(System.String)">
+            <summary>
+            取得一个文本文件的编码方式。如果无法在文件头部找到有效的前导符,Encoding.Default将被返回。
+            </summary>
+            <param name="fileName">文件名。</param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.TxtFileEncoder.GetEncoding(System.IO.FileStream)">
+            <summary>
+            取得一个文本文件流的编码方式。
+            </summary>
+            <param name="stream">文本文件流。</param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.TxtFileEncoder.GetEncoding(System.String,System.Text.Encoding)">
+            <summary>
+            取得一个文本文件的编码方式。
+            </summary>
+            <param name="fileName">文件名。</param>
+            <param name="defaultEncoding">默认编码方式。当该方法无法从文件的头部取得有效的前导符时,将返回该编码方式。</param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.TxtFileEncoder.GetEncoding(System.IO.FileStream,System.Text.Encoding)">
+            <summary>
+            取得一个文本文件流的编码方式。
+            </summary>
+            <param name="stream">文本文件流。</param>
+            <param name="defaultEncoding">默认编码方式。当该方法无法从文件的头部取得有效的前导符时,将返回该编码方式。</param>
+            <returns></returns>
+        </member>
+        <member name="M:Apq.TxtFileEncoder.GetEncoding(System.IO.Stream)">
+            <summary>
+            通过给定的文件流,判断文件的编码类型
+            </summary>
+            <param name="fs">文件流</param>
+            <returns>文件的编码类型</returns>
+        </member>
+        <member name="M:Apq.TxtFileEncoder.IsUTF8Bytes(System.Byte[])">
+            <summary>
+            判断是否是不带 BOM 的 UTF8 格式
+            </summary>
+            <param name="data"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Apq.TypeParser">
+            <summary>
+            C#类型解析,可解析关键字及其数组用法
+            </summary>
+        </member>
+        <member name="M:Apq.TypeParser.IsKeyword(System.String)">
+            <summary>
+            判断是否是C#关键字
+            </summary>
+        </member>
+        <member name="P:Apq.TypeParser.KeywordMappings">
+            <summary>
+            获取所有C#关键字与类型的对应关系
+            </summary>
+        </member>
+        <member name="M:Apq.TypeParser.TryGetType(System.String,System.Reflection.Assembly)">
+            <summary>
+            获取类型(含处理关键字)
+            </summary>
+        </member>
+        <member name="M:Apq.Utils.DateTimeUtil.GetMonday(System.DateTime,System.Boolean)">
+            <summary>
+            获取所在周的星期一
+            </summary>
+            <param name="timeZero">是否将Time部分置0</param>
+            <remarks>星期一为每周的第1天</remarks>
+        </member>
+        <member name="M:Apq.Utils.DateTimeUtil.GetSunday(System.DateTime,System.Boolean)">
+            <summary>
+            获取所在周的星期日
+            </summary>
+            <param name="timeZero">是否将Time部分置0</param>
+            <remarks>星期日为每周的第7天</remarks>
+        </member>
+        <member name="M:Apq.Utils.DateTimeUtil.GetFirstDayOfMonth(System.DateTime,System.Boolean)">
+            <summary>
+            获取所在月的第1天
+            </summary>
+            <param name="timeZero">是否将Time部分置0</param>
+            <remarks>1日为每月的第1天</remarks>
+        </member>
+        <member name="M:Apq.Utils.DateTimeUtil.GetLastDayOfMonth(System.DateTime,System.Boolean)">
+            <summary>
+            获取所在月的最后1天
+            </summary>
+            <param name="timeZero">是否将Time部分置0</param>
+        </member>
+        <member name="M:Apq.Utils.DateTimeUtil.CalcAgeByBirthday(System.DateOnly)">
+            <summary>
+            根据生日计算当前年龄
+            </summary>
+        </member>
+        <member name="T:Apq.Utils.NateScarlet_HolidayCn">
+            <summary>
+            使用 https://github.com/NateScarlet/holiday-cn.git 进行节假日判断
+            </summary>
+            <remarks>https://cdn.jsdelivr.net/gh/NateScarlet/holiday-cn@master/{年份}.json
+            https://fastly.jsdelivr.net/gh/NateScarlet/holiday-cn@master/{年份}.json</remarks>
+        </member>
+        <member name="M:Apq.Utils.NateScarlet_HolidayCn.HolidayOfWeek(System.DateTime)">
+            <summary>
+            通过接口判断某天是不是中国法定节假日(如果接口访问失败,默认不是)
+            </summary>
+            <returns>1-7:星期几,10:法定休息日,11:法定工作日</returns>
+            <remarks>这个CDN是国外的,所以不定啥时间访问不了。
+            改成通过作业定时下载到本地,判断时直接通过本地缓存</remarks>
+        </member>
+        <member name="M:Apq.Utils.NateScarlet_HolidayCn.HolidayOfWeek(System.DateTime,System.Collections.Generic.IList{System.String})">
+            <summary>
+            判断某天是不是中国法定节假日(如果缓存文件不存在,默认不是)
+            </summary>
+            <param name="jsonFiles">本地缓存的json文件的绝对路径(如 D:\2024.json)</param>
+            <returns></returns>
+        </member>
+        <member name="P:Apq.Utils.Util.IsDebug">
+            <summary>
+            检查当前正在运行的主程序是否是在 Debug 配置下编译生成的。
+            </summary>
+        </member>
+        <member name="M:Apq.Utils.Util.GetCallingMethod">
+            <summary>
+            获取调用者(方法)
+            </summary>
+            <remarks>获取当前方法使用MethodBase.GetCurrentMethod()</remarks>
+        </member>
+        <member name="M:Apq.Utils.Util.ExchangeValue(System.Int64,System.Int64)">
+            <summary>
+            值对调
+            </summary>
+            <param name="value1"></param>
+            <param name="value2"></param>
+        </member>
+        <member name="M:Apq.Utils.Util.ExchangeValue(System.UInt64,System.UInt64)">
+            <summary>
+            值对调
+            </summary>
+            <param name="value1"></param>
+            <param name="value2"></param>
+        </member>
+        <member name="M:Apq.Utils.Util.ExchangeValue(System.Int32,System.Int32)">
+            <summary>
+            值对调
+            </summary>
+            <param name="value1"></param>
+            <param name="value2"></param>
+        </member>
+        <member name="M:Apq.Utils.Util.ExchangeValue(System.UInt32,System.UInt32)">
+            <summary>
+            值对调
+            </summary>
+            <param name="value1"></param>
+            <param name="value2"></param>
+        </member>
+        <member name="M:Apq.Utils.Util.ExchangeValue(System.Int16,System.Int16)">
+            <summary>
+            值对调
+            </summary>
+            <param name="value1"></param>
+            <param name="value2"></param>
+        </member>
+        <member name="M:Apq.Utils.Util.ExchangeValue(System.UInt16,System.UInt16)">
+            <summary>
+            值对调
+            </summary>
+            <param name="value1"></param>
+            <param name="value2"></param>
+        </member>
+        <member name="M:Apq.Utils.Util.ExchangeValue(System.SByte,System.SByte)">
+            <summary>
+            值对调
+            </summary>
+            <param name="value1"></param>
+            <param name="value2"></param>
+        </member>
+        <member name="M:Apq.Utils.Util.ExchangeValue(System.Byte,System.Byte)">
+            <summary>
+            值对调
+            </summary>
+            <param name="value1"></param>
+            <param name="value2"></param>
+        </member>
+        <member name="M:Apq.Utils.Util.IsEquals(System.Object,System.Object)">
+            <summary>
+            调用Equals方法判断是否相等
+            </summary>
+        </member>
+        <member name="F:Apq.WeekDay.None">
+            <summary>
+            未定义
+            </summary>
+        </member>
+        <member name="F:Apq.WeekDay.Monday">
+            <summary>
+            星期一
+            </summary>
+        </member>
+        <member name="F:Apq.WeekDay.Tuesday">
+            <summary>
+            星期二
+            </summary>
+        </member>
+        <member name="F:Apq.WeekDay.Wednesday">
+            <summary>
+            星期三
+            </summary>
+        </member>
+        <member name="F:Apq.WeekDay.Thursday">
+            <summary>
+            星期四
+            </summary>
+        </member>
+        <member name="F:Apq.WeekDay.Friday">
+            <summary>
+            星期五
+            </summary>
+        </member>
+        <member name="F:Apq.WeekDay.Saturday">
+            <summary>
+            星期六
+            </summary>
+        </member>
+        <member name="F:Apq.WeekDay.Sunday">
+            <summary>
+            星期日
+            </summary>
+        </member>
+        <member name="F:Apq.WeekDay.All">
+            <summary>
+            星期内每天
+            </summary>
+        </member>
+        <member name="P:AutoIt.Common.TextEncodingDetect.NullSuggestsBinary">
+            <summary>
+                Sets if the presence of nulls in a buffer indicate the buffer is binary data rather than text.
+            </summary>
+        </member>
+        <member name="M:AutoIt.Common.TextEncodingDetect.GetBomLengthFromEncodingMode(AutoIt.Common.TextEncodingDetect.Encoding)">
+            <summary>
+                Gets the BOM length for a given Encoding mode.
+            </summary>
+            <param name="encoding"></param>
+            <returns>The BOM length.</returns>
+        </member>
+        <member name="M:AutoIt.Common.TextEncodingDetect.CheckBom(System.Byte[],System.Int32)">
+            <summary>
+                Checks for a BOM sequence in a byte buffer.
+            </summary>
+            <param name="buffer"></param>
+            <param name="size"></param>
+            <returns>Encoding type or Encoding.None if no BOM.</returns>
+        </member>
+        <member name="M:AutoIt.Common.TextEncodingDetect.DetectEncoding(System.Byte[],System.Int32)">
+            <summary>
+                Automatically detects the Encoding type of a given byte buffer.
+            </summary>
+            <param name="buffer">The byte buffer.</param>
+            <param name="size">The size of the byte buffer.</param>
+            <returns>The Encoding type or Encoding.None if unknown.</returns>
+        </member>
+        <member name="M:AutoIt.Common.TextEncodingDetect.CheckUtf16NewlineChars(System.Byte[],System.Int32)">
+            <summary>
+                Checks if a buffer contains text that looks like utf16 by scanning for
+                newline chars that would be present even in non-english text.
+            </summary>
+            <param name="buffer">The byte buffer.</param>
+            <param name="size">The size of the byte buffer.</param>
+            <returns>Encoding.none, Encoding.Utf16LeNoBom or Encoding.Utf16BeNoBom.</returns>
+        </member>
+        <member name="M:AutoIt.Common.TextEncodingDetect.DoesContainNulls(System.Byte[],System.Int32)">
+            <summary>
+            Checks if a buffer contains any nulls. Used to check for binary vs text data.
+            </summary>
+            <param name="buffer">The byte buffer.</param>
+            <param name="size">The size of the byte buffer.</param>
+        </member>
+        <member name="M:AutoIt.Common.TextEncodingDetect.CheckUtf16Ascii(System.Byte[],System.Int32)">
+            <summary>
+                Checks if a buffer contains text that looks like utf16. This is done based
+                on the use of nulls which in ASCII/script like text can be useful to identify.
+            </summary>
+            <param name="buffer">The byte buffer.</param>
+            <param name="size">The size of the byte buffer.</param>
+            <returns>Encoding.none, Encoding.Utf16LeNoBom or Encoding.Utf16BeNoBom.</returns>
+        </member>
+        <member name="M:AutoIt.Common.TextEncodingDetect.CheckUtf8(System.Byte[],System.Int32)">
+            <summary>
+                Checks if a buffer contains valid utf8.
+            </summary>
+            <param name="buffer">The byte buffer.</param>
+            <param name="size">The size of the byte buffer.</param>
+            <returns>
+                Encoding type of Encoding.None (invalid UTF8), Encoding.Utf8NoBom (valid utf8 multibyte strings) or
+                Encoding.ASCII (data in 0.127 range).
+            </returns>
+            <returns>2</returns>
+        </member>
+    </members>
+</doc>

+ 1 - 0
AppStart/Config/00_配置目录.txt

@@ -0,0 +1 @@
+用户配置目录

+ 8 - 0
AppStart/DefaultConfig/AppConfig.json

@@ -0,0 +1,8 @@
+{
+	//exe文件所在目录(必须是相对路径,起点是当前目录)
+	"exeFolder": "..\\..\\CsvTool\\",
+	//exe文件名(可不加后缀)
+	"exeFileName": "csv2pb",
+	//启动exe程序时传入的命令(为空则不传)
+	"exeCommand": "trans"
+}

二进制
AppStart/SQLite.Interop.dll


二进制
AppStart/SqlServerSpatial160.dll


二进制
AppStart/comerr64.dll


二进制
AppStart/gssapi64.dll


二进制
AppStart/k5sprt64.dll


二进制
AppStart/krb5_64.dll


二进制
AppStart/krbcc64.dll


二进制
AppStart/sni.dll


二进制
Debug/net8.0/Apq.Web5.dll


二进制
Debug/net8.0/Apq.Web5.pdb


二进制
Debug/net8.0/Apq.dll


二进制
Debug/net8.0/Apq.pdb


+ 8 - 7
Debug/net8.0/Apq.xml

@@ -3316,19 +3316,19 @@
             当前进程
             </summary>
         </member>
-        <member name="P:Apq.GlobalObject.TheExeFullPathWithoutExtension">
+        <member name="P:Apq.GlobalObject.EntryFolder">
             <summary>
-            当前可执行文件的完整路径(不含后缀)
+            当前程序的入口目录。入口程序集(dll或exe)所在目录(以"\"结尾的绝对路径)
             </summary>
         </member>
-        <member name="P:Apq.GlobalObject.ExeFolder">
+        <member name="P:Apq.GlobalObject.TheAssembly">
             <summary>
-            本程序(dll或exe)所在目录(以"\"结尾的绝对路径)
+            该程序集
             </summary>
         </member>
-        <member name="P:Apq.GlobalObject.TheAssembly">
+        <member name="P:Apq.GlobalObject.DllFolder">
             <summary>
-            该程序集
+            本程序集(dll或exe)所在目录(以"\"结尾的绝对路径)
             </summary>
         </member>
         <member name="P:Apq.GlobalObject.DefaultConfigFolder">
@@ -3481,7 +3481,7 @@
             使用HttpClient进行Http访问
             </summary>
         </member>
-        <member name="M:Apq.Net.HttpClientHelper.GetResponseString(System.String,System.Net.Http.HttpMethod,System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,System.String}},System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,System.String}},System.Boolean,System.Text.Encoding,System.Func{System.String,System.Text.Encoding,System.String},System.Threading.CancellationToken)">
+        <member name="M:Apq.Net.HttpClientHelper.GetResponseString(System.String,System.Net.Http.HttpMethod,System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,System.String}},System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,System.String}},System.String,System.Boolean,System.Text.Encoding,System.Func{System.String,System.Text.Encoding,System.String},System.Threading.CancellationToken)">
             <summary>
             Get请求时,整合参数到url再访问,返回响应串
             </summary>
@@ -3489,6 +3489,7 @@
             <param name="method">Get或Post</param>
             <param name="ps">参数</param>
             <param name="headers">请求头</param>
+            <param name="contentType">设置内容的ContentType</param>
             <param name="disableCache">是否禁用缓存</param>
             <param name="encoding">编码格式</param>
             <param name="urlEncodeFunc">提供url编码方法。默认使用 Encoder.UrlEncode。</param>

二进制
Release/net8.0/Apq.Web5.dll


二进制
Release/net8.0/Apq.Web5.pdb


二进制
Release/net8.0/Apq.dll


二进制
Release/net8.0/Apq.pdb


+ 8 - 7
Release/net8.0/Apq.xml

@@ -3316,19 +3316,19 @@
             当前进程
             </summary>
         </member>
-        <member name="P:Apq.GlobalObject.TheExeFullPathWithoutExtension">
+        <member name="P:Apq.GlobalObject.EntryFolder">
             <summary>
-            当前可执行文件的完整路径(不含后缀)
+            当前程序的入口目录。入口程序集(dll或exe)所在目录(以"\"结尾的绝对路径)
             </summary>
         </member>
-        <member name="P:Apq.GlobalObject.ExeFolder">
+        <member name="P:Apq.GlobalObject.TheAssembly">
             <summary>
-            本程序(dll或exe)所在目录(以"\"结尾的绝对路径)
+            该程序集
             </summary>
         </member>
-        <member name="P:Apq.GlobalObject.TheAssembly">
+        <member name="P:Apq.GlobalObject.DllFolder">
             <summary>
-            该程序集
+            本程序集(dll或exe)所在目录(以"\"结尾的绝对路径)
             </summary>
         </member>
         <member name="P:Apq.GlobalObject.DefaultConfigFolder">
@@ -3481,7 +3481,7 @@
             使用HttpClient进行Http访问
             </summary>
         </member>
-        <member name="M:Apq.Net.HttpClientHelper.GetResponseString(System.String,System.Net.Http.HttpMethod,System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,System.String}},System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,System.String}},System.Boolean,System.Text.Encoding,System.Func{System.String,System.Text.Encoding,System.String},System.Threading.CancellationToken)">
+        <member name="M:Apq.Net.HttpClientHelper.GetResponseString(System.String,System.Net.Http.HttpMethod,System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,System.String}},System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,System.String}},System.String,System.Boolean,System.Text.Encoding,System.Func{System.String,System.Text.Encoding,System.String},System.Threading.CancellationToken)">
             <summary>
             Get请求时,整合参数到url再访问,返回响应串
             </summary>
@@ -3489,6 +3489,7 @@
             <param name="method">Get或Post</param>
             <param name="ps">参数</param>
             <param name="headers">请求头</param>
+            <param name="contentType">设置内容的ContentType</param>
             <param name="disableCache">是否禁用缓存</param>
             <param name="encoding">编码格式</param>
             <param name="urlEncodeFunc">提供url编码方法。默认使用 Encoder.UrlEncode。</param>

二进制
Wfj/WsRepeater/Apq.Web5.dll


二进制
Wfj/WsRepeater/Apq.Web5.pdb


二进制
Wfj/WsRepeater/Apq.dll


二进制
Wfj/WsRepeater/Apq.pdb


+ 6 - 6
Wfj/WsRepeater/Apq.xml

@@ -3316,19 +3316,19 @@
             当前进程
             </summary>
         </member>
-        <member name="P:Apq.GlobalObject.TheExeFullPathWithoutExtension">
+        <member name="P:Apq.GlobalObject.EntryFolder">
             <summary>
-            当前可执行文件的完整路径(不含后缀)
+            当前程序的入口目录。入口程序集(dll或exe)所在目录(以"\"结尾的绝对路径)
             </summary>
         </member>
-        <member name="P:Apq.GlobalObject.ExeFolder">
+        <member name="P:Apq.GlobalObject.TheAssembly">
             <summary>
-            本程序(dll或exe)所在目录(以"\"结尾的绝对路径)
+            该程序集
             </summary>
         </member>
-        <member name="P:Apq.GlobalObject.TheAssembly">
+        <member name="P:Apq.GlobalObject.DllFolder">
             <summary>
-            该程序集
+            本程序集(dll或exe)所在目录(以"\"结尾的绝对路径)
             </summary>
         </member>
         <member name="P:Apq.GlobalObject.DefaultConfigFolder">

+ 3 - 3
Wfj/WsRepeater/DockerBuild.txt

@@ -17,9 +17,9 @@ cd DockerImg/WsRepeater/
 docker login [email protected] registry.cn-guangzhou.aliyuncs.com
 
 # amd64上
-docker rmi registry.cn-guangzhou.aliyuncs.com/apq/wsrepeater:amd64_20240307
-docker build -t registry.cn-guangzhou.aliyuncs.com/apq/wsrepeater:amd64_20240307 .
-docker push registry.cn-guangzhou.aliyuncs.com/apq/wsrepeater:amd64_20240307
+docker rmi registry.cn-guangzhou.aliyuncs.com/apq/wsrepeater:amd64_20240309
+docker build -t registry.cn-guangzhou.aliyuncs.com/apq/wsrepeater:amd64_20240309 .
+docker push registry.cn-guangzhou.aliyuncs.com/apq/wsrepeater:amd64_20240309
 
 # arm64上
 docker rmi registry.cn-guangzhou.aliyuncs.com/apq/wsrepeater:arm64

二进制
Wfj/WsRepeater/WsRepeater.dll


二进制
Wfj/WsRepeater/WsRepeater.pdb