<?xml version="1.0"?>
<doc>
    <assembly>
        <name>TouchSocket.Core</name>
    </assembly>
    <members>
        <member name="T:TouchSocket.Core.AppMessageAttribute">
            <summary>
            注册为消息
            </summary>
        </member>
        <member name="M:TouchSocket.Core.AppMessageAttribute.#ctor">
            <summary>
            构造函数
            </summary>
        </member>
        <member name="M:TouchSocket.Core.AppMessageAttribute.#ctor(System.String)">
            <summary>
            构造函数
            </summary>
            <param name="token"></param>
        </member>
        <member name="P:TouchSocket.Core.AppMessageAttribute.Token">
            <summary>
            标识
            </summary>
        </member>
        <member name="T:TouchSocket.Core.AppMessenger">
            <summary>
            消息通知类。内部全为弱引用。
            </summary>
        </member>
        <member name="P:TouchSocket.Core.AppMessenger.Default">
            <summary>
            默认单例实例
            </summary>
        </member>
        <member name="P:TouchSocket.Core.AppMessenger.AllowMultiple">
            <summary>
            允许多广播注册
            </summary>
        </member>
        <member name="M:TouchSocket.Core.AppMessenger.Add(System.String,TouchSocket.Core.MessageInstance)">
            <summary>
            添加
            </summary>
            <param name="token"></param>
            <param name="messageInstance"></param>
            <exception cref="T:TouchSocket.Core.MessageRegisteredException"></exception>
        </member>
        <member name="M:TouchSocket.Core.AppMessenger.CanSendMessage(System.String)">
            <summary>
            判断能否触发该消息，意味着该消息是否已经注册。
            </summary>
            <param name="token"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.AppMessenger.Clear">
            <summary>
            清除所有消息
            </summary>
        </member>
        <member name="M:TouchSocket.Core.AppMessenger.GetAllMessage">
            <summary>
            获取所有消息
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.AppMessenger.Remove(System.String)">
            <summary>
            移除
            </summary>
            <param name="token"></param>
        </member>
        <member name="M:TouchSocket.Core.AppMessenger.Remove(TouchSocket.Core.IMessageObject)">
            <summary>
            按对象移除
            </summary>
            <param name="messageObject"></param>
        </member>
        <member name="M:TouchSocket.Core.AppMessenger.SendAsync(System.String,System.Object[])">
            <summary>
            发送消息
            </summary>
            <param name="token"></param>
            <param name="parameters"></param>
            <exception cref="T:TouchSocket.Core.MessageNotFoundException"></exception>
        </member>
        <member name="M:TouchSocket.Core.AppMessenger.SendAsync``1(System.String,System.Object[])">
            <summary>
            发送消息，当多播时，只返回最后一个返回值
            </summary>
            <typeparam name="T">返回值类型</typeparam>
            <param name="token"></param>
            <param name="parameters"></param>
            <returns></returns>
            <exception cref="T:TouchSocket.Core.MessageNotFoundException"></exception>
        </member>
        <member name="T:TouchSocket.Core.AppMessengerExtensions">
            <summary>
            AppMessengerExtensions
            </summary>
        </member>
        <member name="M:TouchSocket.Core.AppMessengerExtensions.Register(TouchSocket.Core.AppMessenger,TouchSocket.Core.IMessageObject)">
            <summary>
            注册消息
            </summary>
            <param name="appMessenger"></param>
            <param name="messageObject"></param>
        </member>
        <member name="M:TouchSocket.Core.AppMessengerExtensions.Register(TouchSocket.Core.AppMessenger,TouchSocket.Core.IMessageObject,System.String,System.Reflection.MethodInfo)">
            <summary>
            注册消息
            </summary>
            <param name="appMessenger"></param>
            <param name="messageObject"></param>
            <param name="token"></param>
            <param name="methodInfo"></param>
            <exception cref="T:TouchSocket.Core.MessageRegisteredException"></exception>
        </member>
        <member name="M:TouchSocket.Core.AppMessengerExtensions.RegisterStatic``1(TouchSocket.Core.AppMessenger)">
            <summary>
            注册类的静态消息
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="M:TouchSocket.Core.AppMessengerExtensions.RegisterStatic(TouchSocket.Core.AppMessenger,System.Type)">
            <summary>
            注册类的静态消息
            </summary>
            <param name="appMessenger"></param>
            <param name="type"></param>
            <exception cref="T:System.NotSupportedException"></exception>
        </member>
        <member name="M:TouchSocket.Core.AppMessengerExtensions.Unregister(TouchSocket.Core.AppMessenger,TouchSocket.Core.IMessageObject)">
            <summary>
            卸载消息
            </summary>
            <param name="appMessenger"></param>
            <param name="messageObject"></param>
        </member>
        <member name="M:TouchSocket.Core.AppMessengerExtensions.Unregister(TouchSocket.Core.AppMessenger,System.String)">
            <summary>
            移除注册
            </summary>
            <param name="appMessenger"></param>
            <param name="token"></param>
            <exception cref="T:System.ArgumentNullException"></exception>
        </member>
        <member name="T:TouchSocket.Core.IMessageObject">
            <summary>
            限定消息的接口
            </summary>
        </member>
        <member name="T:TouchSocket.Core.MessageInstance">
            <summary>
            MessageInstance
            </summary>
        </member>
        <member name="M:TouchSocket.Core.MessageInstance.#ctor(System.Reflection.MethodInfo,System.Object)">
            <summary>
            MessageInstance
            </summary>
            <param name="method"></param>
            <param name="messageObject"></param>
        </member>
        <member name="P:TouchSocket.Core.MessageInstance.MessageObject">
            <summary>
            承载消息的实体
            </summary>
        </member>
        <member name="P:TouchSocket.Core.MessageInstance.WeakReference">
            <summary>
            弱引用。
            </summary>
        </member>
        <member name="T:TouchSocket.Core.TouchSocketBitConverter">
            <summary>
            将基数据类型转换为指定端的一个字节数组，
            或将一个字节数组转换为指定端基数据类型。
            </summary>
            <summary>
            将基数据类型转换为指定端的一个字节数组，
            或将一个字节数组转换为指定端基数据类型。
            </summary>
        </member>
        <member name="F:TouchSocket.Core.TouchSocketBitConverter.BigEndian">
            <summary>
            以大端
            </summary>
        </member>
        <member name="F:TouchSocket.Core.TouchSocketBitConverter.BigSwapEndian">
            <summary>
            以交换大端
            </summary>
        </member>
        <member name="F:TouchSocket.Core.TouchSocketBitConverter.LittleEndian">
            <summary>
            以小端
            </summary>
        </member>
        <member name="F:TouchSocket.Core.TouchSocketBitConverter.LittleSwapEndian">
            <summary>
            以交换小端
            </summary>
        </member>
        <member name="M:TouchSocket.Core.TouchSocketBitConverter.#ctor(TouchSocket.Core.EndianType)">
            <summary>
            构造函数
            </summary>
            <param name="endianType"></param>
        </member>
        <member name="P:TouchSocket.Core.TouchSocketBitConverter.Default">
            <summary>
            以默认小端，可通过<see cref="P:TouchSocket.Core.TouchSocketBitConverter.DefaultEndianType"/>重新指定默认端。
            </summary>
        </member>
        <member name="P:TouchSocket.Core.TouchSocketBitConverter.DefaultEndianType">
            <summary>
            默认大小端切换。
            </summary>
        </member>
        <member name="P:TouchSocket.Core.TouchSocketBitConverter.EndianType">
            <summary>
            指定大小端。
            </summary>
        </member>
        <member name="M:TouchSocket.Core.TouchSocketBitConverter.GetBitConverter(TouchSocket.Core.EndianType)">
            <summary>
            按照枚举值选择默认的端序。
            </summary>
            <param name="endianType"></param>
            <returns></returns>
            <exception cref="T:System.Exception"></exception>
        </member>
        <member name="M:TouchSocket.Core.TouchSocketBitConverter.IsSameOfSet">
            <summary>
            判断当前系统是否为设置的大小端
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.TouchSocketBitConverter.GetBytes(System.UInt16)">
            <summary>
            转换为指定端2字节
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.TouchSocketBitConverter.GetBytes(System.UInt64)">
            <summary>
            转换为指定端8字节
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.TouchSocketBitConverter.GetBytes(System.Boolean)">
            <summary>
            转换为指定端1字节
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.TouchSocketBitConverter.GetBytes(System.Boolean[])">
            <summary>
            将布尔数组转为字节数组。不足位补0.
            </summary>
            <param name="values"></param>
            <returns></returns>
            <exception cref="T:System.ArgumentNullException"></exception>
        </member>
        <member name="M:TouchSocket.Core.TouchSocketBitConverter.GetBytes(System.Char)">
            <summary>
            转换为指定端2字节
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.TouchSocketBitConverter.GetBytes(System.Int16)">
            <summary>
            转换为指定端2字节
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.TouchSocketBitConverter.GetBytes(System.Int32)">
            <summary>
            转换为指定端4字节
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.TouchSocketBitConverter.GetBytes(System.Int64)">
            <summary>
            转换为指定端8字节
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.TouchSocketBitConverter.GetBytes(System.UInt32)">
            <summary>
            转换为指定端4字节
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.TouchSocketBitConverter.GetBytes(System.Single)">
            <summary>
            转换为指定端4字节
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.TouchSocketBitConverter.GetBytes(System.Double)">
            <summary>
            转换为指定端8字节
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.TouchSocketBitConverter.ByteTransDataFormat4(System.Byte[],System.Int32)">
            <summary>反转多字节的数据信息</summary>
            <param name="value">数据字节</param>
            <param name="offset">起始索引，默认值为0</param>
            <returns>实际字节信息</returns>
        </member>
        <member name="M:TouchSocket.Core.TouchSocketBitConverter.ByteTransDataFormat8(System.Byte[],System.Int32)">
            <summary>反转多字节的数据信息</summary>
            <param name="value">数据字节</param>
            <param name="offset">起始索引，默认值为0</param>
            <returns>实际字节信息</returns>
        </member>
        <member name="M:TouchSocket.Core.TouchSocketBitConverter.ToUInt16(System.Byte[],System.Int32)">
            <summary>
            转换为指定端模式的2字节转换为UInt16数据。
            </summary>
            <param name="buffer"></param>
            <param name="offset"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.TouchSocketBitConverter.ToUInt64(System.Byte[],System.Int32)">
            <summary>
             转换为指定端模式的Ulong数据。
            </summary>
            <param name="buffer"></param>
            <param name="offset"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.TouchSocketBitConverter.ToBoolean(System.Byte[],System.Int32)">
            <summary>
             转换为指定端模式的bool数据。
            </summary>
            <param name="buffer"></param>
            <param name="offset"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.TouchSocketBitConverter.ToBooleans(System.Byte[],System.Int32,System.Int32)">
            <summary>
            将指定的字节，按位解析为bool数组。
            </summary>
            <param name="buffer"></param>
            <param name="offset"></param>
            <param name="length"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.TouchSocketBitConverter.ToChar(System.Byte[],System.Int32)">
            <summary>
             转换为指定端模式的Char数据。
            </summary>
            <param name="buffer"></param>
            <param name="offset"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.TouchSocketBitConverter.ToInt16(System.Byte[],System.Int32)">
            <summary>
             转换为指定端模式的Short数据。
            </summary>
            <param name="buffer"></param>
            <param name="offset"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.TouchSocketBitConverter.ToInt32(System.Byte[],System.Int32)">
            <summary>
             转换为指定端模式的int数据。
            </summary>
            <param name="buffer"></param>
            <param name="offset"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.TouchSocketBitConverter.ToInt64(System.Byte[],System.Int32)">
            <summary>
             转换为指定端模式的long数据。
            </summary>
            <param name="buffer"></param>
            <param name="offset"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.TouchSocketBitConverter.ToUInt32(System.Byte[],System.Int32)">
            <summary>
             转换为指定端模式的Uint数据。
            </summary>
            <param name="buffer"></param>
            <param name="offset"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.TouchSocketBitConverter.ToSingle(System.Byte[],System.Int32)">
            <summary>
             转换为指定端模式的float数据。
            </summary>
            <param name="buffer"></param>
            <param name="offset"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.TouchSocketBitConverter.ToDouble(System.Byte[],System.Int32)">
            <summary>
             转换为指定端模式的double数据。
            </summary>
            <param name="buffer"></param>
            <param name="offset"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.TouchSocketBitConverter.ToDecimal(System.Byte[],System.Int32)">
            <summary>
             转换为指定端模式的<see cref="T:System.Decimal"/>数据。
            </summary>
            <param name="buffer"></param>
            <param name="offset"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.TouchSocketBitConverter.GetBytes(System.Decimal)">
            <summary>
            转换为指定端16字节
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.CacheEntry`2">
            <summary>
            缓存实体
            </summary>
        </member>
        <member name="M:TouchSocket.Core.CacheEntry`2.#ctor(`0)">
            <summary>
            缓存实体
            </summary>
            <param name="key"></param>
        </member>
        <member name="M:TouchSocket.Core.CacheEntry`2.#ctor(`0,`1)">
            <summary>
            缓存实体
            </summary>
        </member>
        <member name="P:TouchSocket.Core.CacheEntry`2.Duration">
            <summary>
            有效区间。如果想长期有效，请使用<see cref="F:System.TimeSpan.Zero"/>
            </summary>
        </member>
        <member name="P:TouchSocket.Core.CacheEntry`2.Key">
            <summary>
            键
            </summary>
        </member>
        <member name="P:TouchSocket.Core.CacheEntry`2.UpdateTime">
            <summary>
            更新时间
            </summary>
        </member>
        <member name="P:TouchSocket.Core.CacheEntry`2.Value">
            <summary>
            值
            </summary>
        </member>
        <member name="T:TouchSocket.Core.CacheManagementExtensions">
            <summary>
            CacheExtensions
            </summary>
        </member>
        <member name="M:TouchSocket.Core.CacheManagementExtensions.AddCache``2(TouchSocket.Core.ICache{``0,``1},``0,``1,System.Int32)">
            <summary>
            <inheritdoc cref="M:TouchSocket.Core.ICache`2.AddCache(TouchSocket.Core.ICacheEntry{`0,`1})"/>
            </summary>
            <typeparam name="TKey"></typeparam>
            <typeparam name="TValue"></typeparam>
            <param name="cacheManagement"></param>
            <param name="key"></param>
            <param name="value"></param>
            <param name="duration"></param>
        </member>
        <member name="M:TouchSocket.Core.CacheManagementExtensions.SetCache``2(TouchSocket.Core.ICache{``0,``1},``0,``1,System.Int32)">
            <summary>
             <inheritdoc cref="M:TouchSocket.Core.ICache`2.SetCache(TouchSocket.Core.ICacheEntry{`0,`1})"/>
            </summary>
            <typeparam name="TKey"></typeparam>
            <typeparam name="TValue"></typeparam>
            <param name="cacheManagement"></param>
            <param name="key"></param>
            <param name="value"></param>
            <param name="duration"></param>
        </member>
        <member name="T:TouchSocket.Core.ICache`2">
            <summary>
            缓存键值
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ICache`2.AddCache(TouchSocket.Core.ICacheEntry{`0,`1})">
            <summary>
            添加缓存。当缓存存在时，不会添加成功。
            </summary>
            <param name="entity">缓存实体</param>
            <exception cref="T:System.ArgumentNullException"></exception>
        </member>
        <member name="M:TouchSocket.Core.ICache`2.ClearCache">
            <summary>
            清空所有缓存
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ICache`2.ClearCacheAsync">
            <summary>
            清空所有缓存
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ICache`2.ContainsCache(`0)">
            <summary>
            判断缓存是否存在，且在生命周期内。
            </summary>
            <param name="key"></param>
            <returns></returns>
            <exception cref="T:System.ArgumentNullException"></exception>
        </member>
        <member name="M:TouchSocket.Core.ICache`2.ContainsCacheAsync(`0)">
            <summary>
            判断缓存是否存在，且在生命周期内。
            </summary>
            <param name="key"></param>
            <returns></returns>
            <exception cref="T:System.ArgumentNullException"></exception>
        </member>
        <member name="M:TouchSocket.Core.ICache`2.SetCache(TouchSocket.Core.ICacheEntry{`0,`1})">
            <summary>
            设置缓存，不管缓存存不存在，都会添加。
            </summary>
            <param name="entity"></param>
            <returns></returns>
            <exception cref="T:System.ArgumentNullException"></exception>
        </member>
        <member name="M:TouchSocket.Core.ICache`2.SetCacheAsync(TouchSocket.Core.ICacheEntry{`0,`1})">
            <summary>
            设置缓存，不管缓存存不存在，都会添加。
            </summary>
            <param name="entity"></param>
            <returns></returns>
            <exception cref="T:System.ArgumentNullException"></exception>
        </member>
        <member name="M:TouchSocket.Core.ICache`2.GetCache(`0)">
            <summary>
            获取指定键的缓存。
            </summary>
            <param name="key">键</param>
            <returns></returns>
            <exception cref="T:System.ArgumentNullException"></exception>
        </member>
        <member name="M:TouchSocket.Core.ICache`2.GetCacheAsync(`0)">
            <summary>
            获取指定键的缓存。
            </summary>
            <param name="key">键</param>
            <returns></returns>
            <exception cref="T:System.ArgumentNullException"></exception>
        </member>
        <member name="M:TouchSocket.Core.ICache`2.RemoveCache(`0)">
            <summary>
            移除指定键的缓存。
            </summary>
            <param name="key">键</param>
            <returns></returns>
            <exception cref="T:System.ArgumentNullException"></exception>
        </member>
        <member name="M:TouchSocket.Core.ICache`2.RemoveCacheAsync(`0)">
            <summary>
            移除指定键的缓存。
            </summary>
            <param name="key">键</param>
            <returns></returns>
            <exception cref="T:System.ArgumentNullException"></exception>
        </member>
        <member name="T:TouchSocket.Core.ICacheEntry">
            <summary>
            缓存实体接口
            </summary>
        </member>
        <member name="P:TouchSocket.Core.ICacheEntry.Duration">
            <summary>
            有效区间。如果想长期有效，请使用<see cref="F:System.TimeSpan.Zero"/>
            </summary>
        </member>
        <member name="P:TouchSocket.Core.ICacheEntry.UpdateTime">
            <summary>
            更新时间
            </summary>
        </member>
        <member name="T:TouchSocket.Core.ICacheEntry`2">
            <summary>
            缓存实体接口
            </summary>
        </member>
        <member name="P:TouchSocket.Core.ICacheEntry`2.Key">
            <summary>
            键
            </summary>
        </member>
        <member name="P:TouchSocket.Core.ICacheEntry`2.Value">
            <summary>
            值
            </summary>
        </member>
        <member name="T:TouchSocket.Core.MemoryCache`2">
            <summary>
            一个简单的内存缓存
            </summary>
        </member>
        <member name="M:TouchSocket.Core.MemoryCache`2.#ctor">
            <summary>
             一个简单的内存缓存
            </summary>
        </member>
        <member name="P:TouchSocket.Core.MemoryCache`2.Remove">
            <summary>
            当每个元素超时被移除时触发。
            </summary>
        </member>
        <member name="M:TouchSocket.Core.MemoryCache`2.AddCache(TouchSocket.Core.ICacheEntry{`0,`1})">
            <summary>
            <inheritdoc/>
            </summary>
            <param name="entity"></param>
        </member>
        <member name="M:TouchSocket.Core.MemoryCache`2.AddCacheAsync(TouchSocket.Core.ICacheEntry{`0,`1})">
            <summary>
            <inheritdoc/>
            </summary>
            <param name="entity"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.MemoryCache`2.ClearCache">
            <summary>
            清空所有缓存
            </summary>
        </member>
        <member name="M:TouchSocket.Core.MemoryCache`2.ClearCacheAsync">
            <summary>
            <inheritdoc/>
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.MemoryCache`2.ContainsCache(`0)">
            <summary>
            <inheritdoc/>
            </summary>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.MemoryCache`2.ContainsCacheAsync(`0)">
            <summary>
            <inheritdoc/>
            </summary>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.MemoryCache`2.GetCache(`0)">
            <summary>
            获取缓存实体。
            </summary>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.MemoryCache`2.GetCacheAsync(`0)">
            <summary>
            <inheritdoc/>
            </summary>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.MemoryCache`2.GetEnumerator">
            <summary>
            <inheritdoc/>
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.MemoryCache`2.RemoveCache(`0,TouchSocket.Core.ICacheEntry{`0,`1}@)">
            <summary>
            移除缓存
            </summary>
            <param name="key"></param>
            <param name="entity"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.MemoryCache`2.RemoveCache(`0)">
            <summary>
            移除缓存
            </summary>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.MemoryCache`2.RemoveCacheAsync(`0)">
            <summary>
            <inheritdoc/>
            </summary>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.MemoryCache`2.SetCache(TouchSocket.Core.ICacheEntry{`0,`1})">
            <summary>
            <inheritdoc/>
            </summary>
            <param name="entity"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.MemoryCache`2.SetCacheAsync(TouchSocket.Core.ICacheEntry{`0,`1})">
            <summary>
            <inheritdoc/>
            </summary>
            <param name="entity"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.MemoryCache`2.TryGetValue(`0,`1@,System.Boolean)">
            <summary>
            获取对应的值。
            </summary>
            <param name="key"></param>
            <param name="value"></param>
            <param name="update"></param>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.ConcurrentDoublyDictionary`2">
            <summary>
            安全双向字典
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentDoublyDictionary`2.#ctor">
            <summary>
            构造函数
            </summary>
        </member>
        <member name="P:TouchSocket.Core.ConcurrentDoublyDictionary`2.KeyToValue">
            <summary>
            由键指向值得集合
            </summary>
        </member>
        <member name="P:TouchSocket.Core.ConcurrentDoublyDictionary`2.ValueToKey">
            <summary>
            由值指向键的集合
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentDoublyDictionary`2.TryAdd(`0,`1)">
            <summary>
             尝试将指定的键和值添加到字典中。
            </summary>
            <param name="key"></param>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentDoublyDictionary`2.TryRemoveFromKey(`0,`1@)">
            <summary>
            由键尝试移除
            </summary>
            <param name="key"></param>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentDoublyDictionary`2.TryRemoveFromValue(`1,`0@)">
            <summary>
            由值尝试移除
            </summary>
            <param name="value"></param>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentDoublyDictionary`2.TryGetFromKey(`0,`1@)">
            <summary>
            由键获取到值
            </summary>
            <param name="key"></param>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentDoublyDictionary`2.TryGetFromValue(`1,`0@)">
            <summary>
            由值获取到键
            </summary>
            <param name="value"></param>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.ConcurrentList`1">
            <summary>
            线程安全的List，其基本操作和List一致。
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentList`1.#ctor(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            构造函数
            </summary>
            <param name="collection"></param>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentList`1.#ctor">
            <summary>
            构造函数
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentList`1.#ctor(System.Int32)">
            <summary>
            构造函数
            </summary>
            <param name="capacity"></param>
        </member>
        <member name="P:TouchSocket.Core.ConcurrentList`1.Count">
            <summary>
            元素数量
            </summary>
        </member>
        <member name="P:TouchSocket.Core.ConcurrentList`1.IsReadOnly">
            <summary>
            是否为只读
            </summary>
        </member>
        <member name="P:TouchSocket.Core.ConcurrentList`1.Item(System.Int32)">
            <summary>
            获取索引元素
            </summary>
            <param name="index"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentList`1.Add(`0)">
            <summary>
            添加元素
            </summary>
            <param name="item"></param>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentList`1.Clear">
            <summary>
            清空所有元素
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentList`1.Contains(`0)">
            <summary>
            是否包含某个元素
            </summary>
            <param name="item"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentList`1.CopyTo(`0[],System.Int32)">
            <summary>
            复制到
            </summary>
            <param name="array"></param>
            <param name="arrayIndex"></param>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentList`1.GetEnumerator">
            <summary>
            返回迭代器
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentList`1.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            返回迭代器组合
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentList`1.IndexOf(`0)">
            <summary>
            索引
            </summary>
            <param name="item"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentList`1.Insert(System.Int32,`0)">
            <summary>
            插入
            </summary>
            <param name="index"></param>
            <param name="item"></param>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentList`1.Remove(`0)">
            <summary>
            移除元素
            </summary>
            <param name="item"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentList`1.RemoveAt(System.Int32)">
            <summary>
            按索引移除
            </summary>
            <param name="index"></param>
        </member>
        <member name="P:TouchSocket.Core.ConcurrentList`1.Capacity">
            <summary>
            获取或设置容量
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentList`1.AddRange(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            <inheritdoc cref="M:System.Collections.Generic.List`1.AddRange(System.Collections.Generic.IEnumerable{`0})"/>
            </summary>
            <param name="collection"></param>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentList`1.BinarySearch(`0)">
            <summary>
            <inheritdoc cref="M:System.Collections.Generic.List`1.BinarySearch(`0)"/>
            </summary>
            <param name="item"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentList`1.BinarySearch(`0,System.Collections.Generic.IComparer{`0})">
            <summary>
            <inheritdoc cref="M:System.Collections.Generic.List`1.BinarySearch(`0,System.Collections.Generic.IComparer{`0})"/>
            </summary>
            <param name="item"></param>
            <param name="comparer"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentList`1.BinarySearch(System.Int32,System.Int32,`0,System.Collections.Generic.IComparer{`0})">
            <summary>
            <inheritdoc cref="M:System.Collections.Generic.List`1.BinarySearch(System.Int32,System.Int32,`0,System.Collections.Generic.IComparer{`0})"/>
            </summary>
            <param name="index"></param>
            <param name="count"></param>
            <param name="item"></param>
            <param name="comparer"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentList`1.ConvertAll``1(System.Converter{`0,``0})">
            <summary>
            <inheritdoc cref="M:System.Collections.Generic.List`1.ConvertAll``1(System.Converter{`0,``0})"/>
            </summary>
            <typeparam name="TOutput"></typeparam>
            <param name="converter"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentList`1.Find(System.Predicate{`0})">
            <summary>
            <inheritdoc cref="M:System.Collections.Generic.List`1.Find(System.Predicate{`0})"/>
            </summary>
            <param name="match"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentList`1.FindAll(System.Predicate{`0})">
            <summary>
            <inheritdoc cref="M:System.Collections.Generic.List`1.FindAll(System.Predicate{`0})"/>
            </summary>
            <param name="match"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentList`1.FindIndex(System.Int32,System.Int32,System.Predicate{`0})">
            <summary>
            <inheritdoc cref="M:System.Collections.Generic.List`1.FindIndex(System.Int32,System.Int32,System.Predicate{`0})"/>
            </summary>
            <param name="startIndex"></param>
            <param name="count"></param>
            <param name="match"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentList`1.FindIndex(System.Int32,System.Predicate{`0})">
            <summary>
            <inheritdoc cref="M:System.Collections.Generic.List`1.FindIndex(System.Int32,System.Predicate{`0})"/>
            </summary>
            <param name="startIndex"></param>
            <param name="match"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentList`1.FindIndex(System.Predicate{`0})">
            <summary>
            <inheritdoc cref="M:System.Collections.Generic.List`1.FindIndex(System.Predicate{`0})"/>
            </summary>
            <param name="match"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentList`1.FindLast(System.Predicate{`0})">
            <summary>
            <inheritdoc cref="M:System.Collections.Generic.List`1.FindLast(System.Predicate{`0})"/>
            </summary>
            <param name="match"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentList`1.FindLastIndex(System.Int32,System.Int32,System.Predicate{`0})">
            <summary>
            <inheritdoc cref="M:System.Collections.Generic.List`1.FindLastIndex(System.Int32,System.Int32,System.Predicate{`0})"/>
            </summary>
            <param name="startIndex"></param>
            <param name="count"></param>
            <param name="match"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentList`1.FindLastIndex(System.Int32,System.Predicate{`0})">
            <summary>
            <inheritdoc cref="M:System.Collections.Generic.List`1.FindLastIndex(System.Int32,System.Predicate{`0})"/>
            </summary>
            <param name="startIndex"></param>
            <param name="match"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentList`1.FindLastIndex(System.Predicate{`0})">
            <summary>
            <inheritdoc cref="M:System.Collections.Generic.List`1.FindLastIndex(System.Predicate{`0})"/>
            </summary>
            <param name="match"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentList`1.ForEach(System.Action{`0})">
            <summary>
            <inheritdoc cref="M:System.Collections.Generic.List`1.ForEach(System.Action{`0})"/>
            </summary>
            <param name="action"></param>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentList`1.GetRange(System.Int32,System.Int32)">
            <summary>
            <inheritdoc cref="M:System.Collections.Generic.List`1.GetRange(System.Int32,System.Int32)"/>
            </summary>
            <param name="index"></param>
            <param name="count"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentList`1.IndexOf(`0,System.Int32)">
            <summary>
            <inheritdoc cref="M:System.Collections.Generic.List`1.IndexOf(`0,System.Int32)"/>
            </summary>
            <param name="item"></param>
            <param name="index"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentList`1.IndexOf(`0,System.Int32,System.Int32)">
            <summary>
            <inheritdoc cref="M:System.Collections.Generic.List`1.IndexOf(`0,System.Int32,System.Int32)"/>
            </summary>
            <param name="item"></param>
            <param name="index"></param>
            <param name="count"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentList`1.InsertRange(System.Int32,System.Collections.Generic.IEnumerable{`0})">
            <summary>
            <inheritdoc cref="M:System.Collections.Generic.List`1.InsertRange(System.Int32,System.Collections.Generic.IEnumerable{`0})"/>
            </summary>
            <param name="index"></param>
            <param name="collection"></param>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentList`1.LastIndexOf(`0)">
            <summary>
            <inheritdoc cref="M:System.Collections.Generic.List`1.LastIndexOf(`0)"/>
            </summary>
            <param name="item"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentList`1.LastIndexOf(`0,System.Int32)">
            <summary>
            <inheritdoc cref="M:System.Collections.Generic.List`1.LastIndexOf(`0,System.Int32)"/>
            </summary>
            <param name="item"></param>
            <param name="index"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentList`1.LastIndexOf(`0,System.Int32,System.Int32)">
            <summary>
            <inheritdoc cref="M:System.Collections.Generic.List`1.LastIndexOf(`0,System.Int32,System.Int32)"/>
            </summary>
            <param name="item"></param>
            <param name="index"></param>
            <param name="count"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentList`1.RemoveAll(System.Predicate{`0})">
            <summary>
            <inheritdoc cref="M:System.Collections.Generic.List`1.RemoveAll(System.Predicate{`0})"/>
            </summary>
            <param name="match"></param>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentList`1.RemoveRange(System.Int32,System.Int32)">
            <summary>
            <inheritdoc cref="M:System.Collections.Generic.List`1.RemoveRange(System.Int32,System.Int32)"/>
            </summary>
            <param name="index"></param>
            <param name="count"></param>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentList`1.Reverse">
            <summary>
            <inheritdoc cref="M:System.Collections.Generic.List`1.Reverse"/>
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentList`1.Reverse(System.Int32,System.Int32)">
            <summary>
            <inheritdoc cref="M:System.Collections.Generic.List`1.Reverse(System.Int32,System.Int32)"/>
            </summary>
            <param name="index"></param>
            <param name="count"></param>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentList`1.Sort">
            <summary>
            <inheritdoc cref="M:System.Collections.Generic.List`1.Sort"/>
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentList`1.Sort(System.Comparison{`0})">
            <summary>
            <inheritdoc cref="M:System.Collections.Generic.List`1.Sort(System.Comparison{`0})"/>
            </summary>
            <param name="comparison"></param>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentList`1.Sort(System.Collections.Generic.IComparer{`0})">
            <summary>
            <inheritdoc cref="M:System.Collections.Generic.List`1.Sort(System.Collections.Generic.IComparer{`0})"/>
            </summary>
            <param name="comparer"></param>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentList`1.Sort(System.Int32,System.Int32,System.Collections.Generic.IComparer{`0})">
            <summary>
            <inheritdoc cref="M:System.Collections.Generic.List`1.Sort(System.Int32,System.Int32,System.Collections.Generic.IComparer{`0})"/>
            </summary>
            <param name="index"></param>
            <param name="count"></param>
            <param name="comparer"></param>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentList`1.ToArray">
            <summary>
            <inheritdoc cref="M:System.Collections.Generic.List`1.ToArray"/>
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentList`1.TrimExcess">
            <summary>
            <inheritdoc cref="M:System.Collections.Generic.List`1.TrimExcess"/>
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentList`1.TrueForAll(System.Predicate{`0})">
            <summary>
            <inheritdoc cref="M:System.Collections.Generic.List`1.TrueForAll(System.Predicate{`0})"/>
            </summary>
            <param name="match"></param>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.Ternary`3">
            <summary>
            三元组合
            </summary>
            <typeparam name="TKey1"></typeparam>
            <typeparam name="TKey2"></typeparam>
            <typeparam name="TValue"></typeparam>
        </member>
        <member name="M:TouchSocket.Core.Ternary`3.#ctor(`0,`1,`2)">
            <summary>
            三元组合
            </summary>
            <param name="key1"></param>
            <param name="key2"></param>
            <param name="value"></param>
        </member>
        <member name="P:TouchSocket.Core.Ternary`3.Key1">
            <summary>
            首键
            </summary>
        </member>
        <member name="P:TouchSocket.Core.Ternary`3.Key2">
            <summary>
            次键
            </summary>
        </member>
        <member name="P:TouchSocket.Core.Ternary`3.Value">
            <summary>
            值
            </summary>
        </member>
        <member name="T:TouchSocket.Core.ConcurrentMultiDictionary`3">
            <summary>
            线程安全的双键字典
            </summary>
            <typeparam name="TKey1"></typeparam>
            <typeparam name="TKey2"></typeparam>
            <typeparam name="TValue"></typeparam>
        </member>
        <member name="P:TouchSocket.Core.ConcurrentMultiDictionary`3.Count">
            <summary>
            元素数量。
            </summary>
        </member>
        <member name="P:TouchSocket.Core.ConcurrentMultiDictionary`3.Key1s">
            <summary>
            Key1集合
            </summary>
        </member>
        <member name="P:TouchSocket.Core.ConcurrentMultiDictionary`3.Key2s">
            <summary>
            Key2集合
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentMultiDictionary`3.Clear">
            <summary>
            清空所有元素。
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentMultiDictionary`3.ContainsKey(`1)">
            <summary>
            是否包含指定键。
            </summary>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentMultiDictionary`3.ContainsKey(`0)">
            <summary>
            是否包含指定键。
            </summary>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentMultiDictionary`3.TryAdd(`0,`1,`2)">
            <summary>
            尝试添加。
            </summary>
            <param name="key1"></param>
            <param name="key2"></param>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentMultiDictionary`3.TryRemove(`0,`2@)">
            <summary>
            由首键删除
            </summary>
            <param name="key"></param>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentMultiDictionary`3.TryRemove(`1,`2@)">
            <summary>
            由次键删除
            </summary>
            <param name="key"></param>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentMultiDictionary`3.TryGetValue(`0,`2@)">
            <summary>
            由首键获取值
            </summary>
            <param name="key"></param>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ConcurrentMultiDictionary`3.TryGetValue(`1,`2@)">
            <summary>
            由次键获取值
            </summary>
            <param name="key"></param>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.IntelligentConcurrentQueue`1">
            <summary>
            智能安全队列
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="M:TouchSocket.Core.IntelligentConcurrentQueue`1.#ctor(System.Int32)">
            <summary>
            构造函数
            </summary>
            <param name="maxCount"></param>
        </member>
        <member name="P:TouchSocket.Core.IntelligentConcurrentQueue`1.MaxCount">
            <summary>
            允许的最大长度
            </summary>
        </member>
        <member name="P:TouchSocket.Core.IntelligentConcurrentQueue`1.Count">
            <summary>
            长度
            </summary>
        </member>
        <member name="M:TouchSocket.Core.IntelligentConcurrentQueue`1.Enqueue(`0)">
            <summary>
            入队
            </summary>
            <param name="item"></param>
        </member>
        <member name="M:TouchSocket.Core.IntelligentConcurrentQueue`1.TryDequeue(`0@)">
            <summary>
            出队
            </summary>
            <param name="result"></param>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.IQueueData">
            <summary>
            队列数据
            </summary>
        </member>
        <member name="P:TouchSocket.Core.IQueueData.Size">
            <summary>
            数据长度
            </summary>
        </member>
        <member name="T:TouchSocket.Core.QueueDataBytes">
            <summary>
            传输字节
            </summary>
        </member>
        <member name="M:TouchSocket.Core.QueueDataBytes.#ctor(System.Byte[],System.Int32,System.Int32)">
            <summary>
            构造函数
            </summary>
            <param name="buffer"></param>
            <param name="offset"></param>
            <param name="length"></param>
        </member>
        <member name="M:TouchSocket.Core.QueueDataBytes.CreateNew(System.Byte[],System.Int32,System.Int32)">
            <summary>
            从指定内存创建一个新对象，且内存也为新创建。
            </summary>
            <param name="buffer"></param>
            <param name="offset"></param>
            <param name="length"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.QueueDataBytes.#ctor(System.Byte[])">
            <summary>
            构造函数
            </summary>
            <param name="buffer"></param>
        </member>
        <member name="P:TouchSocket.Core.QueueDataBytes.Buffer">
            <summary>
            数据内存
            </summary>
        </member>
        <member name="P:TouchSocket.Core.QueueDataBytes.Length">
            <summary>
            长度
            </summary>
        </member>
        <member name="P:TouchSocket.Core.QueueDataBytes.Offset">
            <summary>
            偏移
            </summary>
        </member>
        <member name="P:TouchSocket.Core.QueueDataBytes.Size">
            <summary>
            尺寸
            </summary>
        </member>
        <member name="T:TouchSocket.Core.IntelligentDataQueue`1">
            <summary>
            智能数据安全队列
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="M:TouchSocket.Core.IntelligentDataQueue`1.#ctor(System.Int64)">
            <summary>
            智能数据安全队列
            </summary>
            <param name="maxSize"></param>
        </member>
        <member name="M:TouchSocket.Core.IntelligentDataQueue`1.#ctor">
            <summary>
            智能数据安全队列
            </summary>
        </member>
        <member name="P:TouchSocket.Core.IntelligentDataQueue`1.ActualSize">
            <summary>
            实际尺寸
            </summary>
        </member>
        <member name="P:TouchSocket.Core.IntelligentDataQueue`1.Free">
            <summary>
            是否有空位允许入队
            </summary>
        </member>
        <member name="P:TouchSocket.Core.IntelligentDataQueue`1.MaxSize">
            <summary>
            允许的最大长度
            </summary>
        </member>
        <member name="P:TouchSocket.Core.IntelligentDataQueue`1.OnQueueChanged">
            <summary>
            在队列修改时
            </summary>
        </member>
        <member name="P:TouchSocket.Core.IntelligentDataQueue`1.OverflowWait">
            <summary>
            溢出等待
            </summary>
        </member>
        <member name="P:TouchSocket.Core.IntelligentDataQueue`1.Timeout">
            <summary>
            超时时间。默认1000*30ms；
            </summary>
        </member>
        <member name="M:TouchSocket.Core.IntelligentDataQueue`1.Clear(System.Action{`0})">
            <summary>
            清空队列
            </summary>
        </member>
        <member name="M:TouchSocket.Core.IntelligentDataQueue`1.Enqueue(`0)">
            <summary>
            入队
            </summary>
            <param name="item"></param>
        </member>
        <member name="M:TouchSocket.Core.IntelligentDataQueue`1.TryDequeue(`0@)">
            <summary>
            出队
            </summary>
            <param name="result"></param>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.TriggerQueue`1">
            <summary>
            触发器队列
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="M:TouchSocket.Core.TriggerQueue`1.#ctor">
            <summary>
             触发器队列
            </summary>
        </member>
        <member name="M:TouchSocket.Core.TriggerQueue`1.Finalize">
            <summary>
            析构函数
            </summary>
        </member>
        <member name="P:TouchSocket.Core.TriggerQueue`1.OnDequeue">
            <summary>
            出队列处理。
            </summary>
        </member>
        <member name="P:TouchSocket.Core.TriggerQueue`1.OnError">
            <summary>
            发生错误
            </summary>
        </member>
        <member name="P:TouchSocket.Core.TriggerQueue`1.Sending">
            <summary>
            是否处于发送状态
            </summary>
        </member>
        <member name="M:TouchSocket.Core.TriggerQueue`1.Enqueue(`0)">
            <summary>
            发送
            </summary>
        </member>
        <member name="M:TouchSocket.Core.TriggerQueue`1.Dispose(System.Boolean)">
            <summary>
            释放
            </summary>
            <param name="disposing"></param>
        </member>
        <member name="T:TouchSocket.Core.IgnoreCaseNameValueCollection">
            <summary>
            IgnoreCaseNameValueCollection
            </summary>
        </member>
        <member name="M:TouchSocket.Core.IgnoreCaseNameValueCollection.#ctor">
            <summary>
            IgnoreCaseNameValueCollection
            </summary>
        </member>
        <member name="T:TouchSocket.Core.NameValueCollectionDebugView">
            <summary>
            NameValueCollectionDebugView
            </summary>
        </member>
        <member name="M:TouchSocket.Core.NameValueCollectionDebugView.#ctor(System.Collections.Specialized.NameValueCollection)">
            <summary>
            NameValueCollectionDebugView
            </summary>
            <param name="nameValue"></param>
        </member>
        <member name="T:TouchSocket.Core.ConfigEventArgs">
            <summary>
            ConfigEventArgs
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ConfigEventArgs.#ctor(TouchSocket.Core.TouchSocketConfig)">
            <summary>
            ConfigEventArgs
            </summary>
            <param name="config"></param>
        </member>
        <member name="P:TouchSocket.Core.ConfigEventArgs.Config">
            <summary>
            具体配置
            </summary>
        </member>
        <member name="T:TouchSocket.Core.ConfigObject">
            <summary>
            具有配置设置的对象
            </summary>
        </member>
        <member name="P:TouchSocket.Core.ConfigObject.Config">
            <inheritdoc/>
        </member>
        <member name="P:TouchSocket.Core.ConfigObject.Logger">
            <inheritdoc/>
        </member>
        <member name="T:TouchSocket.Core.IConfigObject">
            <summary>
            具有配置的对象接口
            </summary>
        </member>
        <member name="P:TouchSocket.Core.IConfigObject.Config">
            <summary>
            设置项
            </summary>
        </member>
        <member name="T:TouchSocket.Core.ILoadedConfigPlugin`1">
            <summary>
            当配置Config完成时触发。
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ILoadedConfigPlugin`1.OnLoadedConfig(`0,TouchSocket.Core.ConfigEventArgs)">
            <summary>
            当完成配置载入时
            </summary>
            <param name="sender"></param>
            <param name="e"></param>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.ILoadedConfigPlugin">
            <summary>
            当配置Config完成时触发。
            </summary>
        </member>
        <member name="T:TouchSocket.Core.ILoadingConfigPlugin`1">
            <summary>
            当正在配置Config时触发。
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ILoadingConfigPlugin`1.OnLoadingConfig(`0,TouchSocket.Core.ConfigEventArgs)">
            <summary>
            当载入配置时
            </summary>
            <param name="sender"></param>
            <param name="e"></param>
        </member>
        <member name="T:TouchSocket.Core.ILoadingConfigPlugin">
            <summary>
            ILoadingConfigPlugin
            </summary>
        </member>
        <member name="T:TouchSocket.Core.ISetupConfigObject">
            <summary>
            具有设置配置的对象接口
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ISetupConfigObject.Setup(TouchSocket.Core.TouchSocketConfig)">
            <summary>
            配置设置项
            </summary>
            <param name="config"></param>
            <exception cref="T:System.Exception"></exception>
        </member>
        <member name="M:TouchSocket.Core.ISetupConfigObject.SetupAsync(TouchSocket.Core.TouchSocketConfig)">
            <summary>
            异步配置设置项
            </summary>
            <param name="config"></param>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.SetupConfigObject">
            <summary>
            具有设置配置的对象
            </summary>
        </member>
        <member name="P:TouchSocket.Core.SetupConfigObject.Config">
            <inheritdoc/>
        </member>
        <member name="P:TouchSocket.Core.SetupConfigObject.PluginManager">
            <inheritdoc/>
        </member>
        <member name="P:TouchSocket.Core.SetupConfigObject.Resolver">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.SetupConfigObject.Setup(TouchSocket.Core.TouchSocketConfig)">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.SetupConfigObject.SetupAsync(TouchSocket.Core.TouchSocketConfig)">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.SetupConfigObject.Dispose(System.Boolean)">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.SetupConfigObject.LoadConfig(TouchSocket.Core.TouchSocketConfig)">
            <summary>
            加载配置
            </summary>
            <param name="config"></param>
        </member>
        <member name="T:TouchSocket.Core.TouchSocketConfig">
            <summary>
            配置文件基类
            </summary>
        </member>
        <member name="M:TouchSocket.Core.TouchSocketConfig.Clone">
            <summary>
            克隆配置依赖项，并返回一个新的克隆对象。
            </summary>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.TouchSocketCoreConfigExtension">
            <summary>
            TouchSocketCoreConfigExtension
            </summary>
        </member>
        <member name="F:TouchSocket.Core.TouchSocketCoreConfigExtension.ConfigurePluginsProperty">
            <summary>
            配置插件。
            </summary>
        </member>
        <member name="M:TouchSocket.Core.TouchSocketCoreConfigExtension.ConfigurePlugins(TouchSocket.Core.TouchSocketConfig,System.Action{TouchSocket.Core.IPluginManager})">
            <summary>
            配置插件。
            </summary>
            <param name="config"></param>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="F:TouchSocket.Core.TouchSocketCoreConfigExtension.ConfigureContainerProperty">
            <summary>
            配置容器注入。
            </summary>
        </member>
        <member name="F:TouchSocket.Core.TouchSocketCoreConfigExtension.RegistratorProperty">
            <summary>
            容器注册
            </summary>
        </member>
        <member name="F:TouchSocket.Core.TouchSocketCoreConfigExtension.ResolverProperty">
            <summary>
            容器提供者
            </summary>
        </member>
        <member name="M:TouchSocket.Core.TouchSocketCoreConfigExtension.ConfigureContainer(TouchSocket.Core.TouchSocketConfig,System.Action{TouchSocket.Core.IRegistrator})">
            <summary>
            配置容器注入。
            </summary>
            <param name="config"></param>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.TouchSocketCoreConfigExtension.SetResolver(TouchSocket.Core.TouchSocketConfig,TouchSocket.Core.IResolver)">
            <summary>
            设置<see cref="T:TouchSocket.Core.IResolver"/>
            </summary>
            <param name="config"></param>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.TouchSocketCoreConfigExtension.SetRegistrator(TouchSocket.Core.TouchSocketConfig,TouchSocket.Core.IRegistrator)">
            <summary>
            设置<see cref="T:TouchSocket.Core.IRegistrator"/>
            </summary>
            <param name="config"></param>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.DependencyInjectAttribute">
            <summary>
            指定依赖类型。
            </summary>
        </member>
        <member name="M:TouchSocket.Core.DependencyInjectAttribute.#ctor">
            <summary>
            默认注入配置
            </summary>
        </member>
        <member name="M:TouchSocket.Core.DependencyInjectAttribute.#ctor(System.String)">
            <summary>
            使用指定Key参数注入。
            </summary>
            <param name="key"></param>
        </member>
        <member name="M:TouchSocket.Core.DependencyInjectAttribute.#ctor(System.Type,System.String)">
            <summary>
            类型，Key指定性注入。
            </summary>
            <param name="type"></param>
            <param name="key"></param>
        </member>
        <member name="M:TouchSocket.Core.DependencyInjectAttribute.#ctor(System.Type)">
            <summary>
            类型，指定性注入。
            </summary>
            <param name="type"></param>
        </member>
        <member name="P:TouchSocket.Core.DependencyInjectAttribute.Key">
            <summary>
            指定键。
            </summary>
        </member>
        <member name="P:TouchSocket.Core.DependencyInjectAttribute.Type">
            <summary>
            注入类型
            </summary>
        </member>
        <member name="T:TouchSocket.Core.DependencyTypeAttribute">
            <summary>
            指定依赖类型。
            </summary>
        </member>
        <member name="M:TouchSocket.Core.DependencyTypeAttribute.#ctor(TouchSocket.Core.DependencyType)">
            <summary>
            初始化一个依赖类型。当确定某个类型仅以某种特定方式注入时，可以过滤不必要的注入操作，以提高效率。
            </summary>
            <param name="type">可以叠加位域</param>
        </member>
        <member name="P:TouchSocket.Core.DependencyTypeAttribute.Type">
            <summary>
            支持类型。
            </summary>
        </member>
        <member name="T:TouchSocket.Core.Container">
            <summary>
            IOC容器
            </summary>
        </member>
        <member name="M:TouchSocket.Core.Container.#ctor">
            <summary>
            IOC容器
            </summary>
        </member>
        <member name="M:TouchSocket.Core.Container.BuildResolver">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.Container.GetDescriptors">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.Container.GetService(System.Type)">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.Container.IsRegistered(System.Type,System.String)">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.Container.IsRegistered(System.Type)">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.Container.Register(TouchSocket.Core.DependencyDescriptor,System.String)">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.Container.Register(TouchSocket.Core.DependencyDescriptor)">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.Container.Resolve(System.Type,System.String)">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.Container.Resolve(System.Type)">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.Container.Unregister(TouchSocket.Core.DependencyDescriptor,System.String)">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.Container.Unregister(TouchSocket.Core.DependencyDescriptor)">
            <inheritdoc/>
        </member>
        <member name="T:TouchSocket.Core.CoreContainerExtension">
            <summary>
            ContainerExtension
            </summary>
        </member>
        <member name="F:TouchSocket.Core.CoreContainerExtension.DynamicallyAccessed">
            <summary>
            DynamicallyAccessed
            </summary>
        </member>
        <member name="M:TouchSocket.Core.CoreContainerExtension.RegisterSingleton``2(TouchSocket.Core.IRegistrator,``1)">
            <summary>
            注册单例
            </summary>
            <typeparam name="TFrom"></typeparam>
            <typeparam name="TTo"></typeparam>
            <param name="registrator"></param>
            <param name="instance"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.CoreContainerExtension.RegisterSingleton(TouchSocket.Core.IRegistrator,System.Object)">
            <summary>
            注册单例
            </summary>
            <param name="registrator"></param>
            <param name="instance"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.CoreContainerExtension.RegisterSingleton(TouchSocket.Core.IRegistrator,System.Type)">
            <summary>
            注册单例
            </summary>
            <param name="registrator"></param>
            <param name="fromType"></param>
            <returns></returns>
            <exception cref="T:System.ArgumentNullException"></exception>
        </member>
        <member name="M:TouchSocket.Core.CoreContainerExtension.RegisterSingleton``2(TouchSocket.Core.IRegistrator,System.String,``1)">
            <summary>
            注册单例
            </summary>
            <typeparam name="TFrom"></typeparam>
            <typeparam name="TTo"></typeparam>
            <param name="registrator"></param>
            <param name="key"></param>
            <param name="instance"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.CoreContainerExtension.RegisterSingleton(TouchSocket.Core.IRegistrator,System.Type,System.Object,System.String)">
            <summary>
            注册单例
            </summary>
            <param name="registrator"></param>
            <param name="fromType"></param>
            <param name="instance"></param>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.CoreContainerExtension.RegisterSingleton(TouchSocket.Core.IRegistrator,System.Type,System.Object)">
            <summary>
            注册单例
            </summary>
            <param name="registrator"></param>
            <param name="fromType"></param>
            <param name="instance"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.CoreContainerExtension.RegisterSingleton``1(TouchSocket.Core.IRegistrator,System.Object,System.String)">
            <summary>
            注册单例
            </summary>
            <typeparam name="TFrom"></typeparam>
            <param name="registrator"></param>
            <param name="instance"></param>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.CoreContainerExtension.RegisterSingleton``1(TouchSocket.Core.IRegistrator,System.Object)">
            <summary>
            注册单例
            </summary>
            <typeparam name="TFrom"></typeparam>
            <param name="registrator"></param>
            <param name="instance"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.CoreContainerExtension.RegisterSingleton(TouchSocket.Core.IRegistrator,System.Object,System.String)">
            <summary>
            注册单例
            </summary>
            <param name="registrator"></param>
            <param name="instance"></param>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.CoreContainerExtension.RegisterSingleton``1(TouchSocket.Core.IRegistrator)">
            <summary>
            注册单例
            </summary>
            <typeparam name="TFrom"></typeparam>
            <param name="registrator"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.CoreContainerExtension.RegisterSingleton``1(TouchSocket.Core.IRegistrator,System.String)">
            <summary>
            注册单例
            </summary>
            <typeparam name="TFrom"></typeparam>
            <param name="registrator"></param>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.CoreContainerExtension.RegisterSingleton(TouchSocket.Core.IRegistrator,System.Type,System.Type)">
            <summary>
            注册单例
            </summary>
            <param name="registrator"></param>
            <param name="fromType"></param>
            <param name="toType"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.CoreContainerExtension.RegisterSingleton(TouchSocket.Core.IRegistrator,System.Type,System.Type,System.String)">
            <summary>
            注册单例
            </summary>
            <param name="registrator"></param>
            <param name="fromType"></param>
            <param name="toType"></param>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.CoreContainerExtension.RegisterSingleton``1(TouchSocket.Core.IRegistrator,System.Func{TouchSocket.Core.IResolver,System.Object})">
            <summary>
            注册单例
            </summary>
            <param name="registrator"></param>
            <param name="func"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.CoreContainerExtension.RegisterSingleton``2(TouchSocket.Core.IRegistrator,System.Func{TouchSocket.Core.IResolver,System.Object})">
            <summary>
            注册单例
            </summary>
            <typeparam name="TFrom"></typeparam>
            <typeparam name="TTo"></typeparam>
            <param name="registrator"></param>
            <param name="func"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.CoreContainerExtension.RegisterSingleton``1(TouchSocket.Core.IRegistrator,System.Func{TouchSocket.Core.IResolver,System.Object},System.String)">
            <summary>
            注册单例
            </summary>
            <param name="registrator"></param>
            <param name="func"></param>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.CoreContainerExtension.RegisterSingleton``2(TouchSocket.Core.IRegistrator,System.Func{TouchSocket.Core.IResolver,System.Object},System.String)">
            <summary>
            注册单例
            </summary>
            <typeparam name="TFrom"></typeparam>
            <typeparam name="TTo"></typeparam>
            <param name="registrator"></param>
            <param name="func"></param>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.CoreContainerExtension.RegisterSingleton(TouchSocket.Core.IRegistrator,System.Type,System.Func{TouchSocket.Core.IResolver,System.Object})">
            <summary>
            注册单例
            </summary>
            <param name="registrator"></param>
            <param name="fromType"></param>
            <param name="func"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.CoreContainerExtension.RegisterSingleton(TouchSocket.Core.IRegistrator,System.Type,System.Func{TouchSocket.Core.IResolver,System.Object},System.String)">
            <summary>
            注册单例
            </summary>
            <param name="registrator"></param>
            <param name="fromType"></param>
            <param name="func"></param>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.CoreContainerExtension.RegisterSingleton``2(TouchSocket.Core.IRegistrator)">
            <summary>
            注册单例
            </summary>
            <typeparam name="TFrom"></typeparam>
            <typeparam name="TTO"></typeparam>
            <param name="registrator"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.CoreContainerExtension.RegisterSingleton``2(TouchSocket.Core.IRegistrator,System.String)">
            <summary>
            注册单例
            </summary>
            <typeparam name="TFrom"></typeparam>
            <typeparam name="TTO"></typeparam>
            <param name="registrator"></param>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.CoreContainerExtension.RegisterTransient``2(TouchSocket.Core.IRegistrator)">
            <summary>
            注册临时映射
            </summary>
            <typeparam name="TFrom"></typeparam>
            <typeparam name="TTO"></typeparam>
            <param name="registrator"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.CoreContainerExtension.RegisterTransient``1(TouchSocket.Core.IRegistrator)">
            <summary>
            注册临时映射
            </summary>
            <typeparam name="TFrom"></typeparam>
            <param name="registrator"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.CoreContainerExtension.RegisterTransient``1(TouchSocket.Core.IRegistrator,System.String)">
            <summary>
            注册临时映射
            </summary>
            <typeparam name="TFrom"></typeparam>
            <param name="registrator"></param>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.CoreContainerExtension.RegisterTransient``2(TouchSocket.Core.IRegistrator,System.String)">
            <summary>
            注册临时映射
            </summary>
            <typeparam name="TFrom"></typeparam>
            <typeparam name="TTO"></typeparam>
            <param name="registrator"></param>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.CoreContainerExtension.RegisterTransient(TouchSocket.Core.IRegistrator,System.Type)">
            <summary>
            注册临时映射
            </summary>
            <param name="registrator"></param>
            <param name="fromType"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.CoreContainerExtension.RegisterTransient(TouchSocket.Core.IRegistrator,System.Type,System.String)">
            <summary>
            注册临时映射
            </summary>
            <param name="registrator"></param>
            <param name="fromType"></param>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.CoreContainerExtension.RegisterTransient(TouchSocket.Core.IRegistrator,System.Type,System.Type)">
            <summary>
            注册临时映射
            </summary>
            <param name="registrator"></param>
            <param name="fromType"></param>
            <param name="toType"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.CoreContainerExtension.RegisterTransient(TouchSocket.Core.IRegistrator,System.Type,System.Type,System.String)">
            <summary>
            注册临时映射
            </summary>
            <param name="registrator"></param>
            <param name="fromType"></param>
            <param name="toType"></param>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.CoreContainerExtension.RegisterTransient``1(TouchSocket.Core.IRegistrator,System.Func{TouchSocket.Core.IResolver,System.Object})">
            <summary>
            注册临时映射
            </summary>
            <param name="registrator"></param>
            <param name="func"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.CoreContainerExtension.RegisterTransient``1(TouchSocket.Core.IRegistrator,System.Func{TouchSocket.Core.IResolver,System.Object},System.String)">
            <summary>
            注册临时映射
            </summary>
            <param name="registrator"></param>
            <param name="func"></param>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.CoreContainerExtension.RegisterTransient(TouchSocket.Core.IRegistrator,System.Type,System.Func{TouchSocket.Core.IResolver,System.Object})">
            <summary>
            注册临时映射
            </summary>
            <param name="registrator"></param>
            <param name="fromType"></param>
            <param name="func"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.CoreContainerExtension.RegisterTransient(TouchSocket.Core.IRegistrator,System.Type,System.Func{TouchSocket.Core.IResolver,System.Object},System.String)">
            <summary>
            注册临时映射
            </summary>
            <param name="registrator"></param>
            <param name="fromType"></param>
            <param name="func"></param>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.CoreContainerExtension.Unregister(TouchSocket.Core.IRegistrator,System.Type)">
            <summary>
            移除注册信息
            </summary>
            <param name="registrator"></param>
            <param name="fromType"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.CoreContainerExtension.Unregister(TouchSocket.Core.IRegistrator,System.Type,System.String)">
            <summary>
            移除注册信息
            </summary>
            <param name="registrator"></param>
            <param name="fromType"></param>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.CoreContainerExtension.Unregister``1(TouchSocket.Core.IRegistrator)">
            <summary>
            移除注册信息
            </summary>
            <param name="registrator"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.CoreContainerExtension.Unregister``1(TouchSocket.Core.IRegistrator,System.String)">
            <summary>
            移除注册信息
            </summary>
            <param name="registrator"></param>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.CoreContainerExtension.Resolve``1(TouchSocket.Core.IResolver)">
            <summary>
            创建类型对应的实例
            </summary>
            <typeparam name="T"></typeparam>
            <param name="resolver"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.CoreContainerExtension.Resolve``1(TouchSocket.Core.IResolver,System.String)">
            <summary>
            创建类型对应的实例
            </summary>
            <typeparam name="T"></typeparam>
            <param name="resolver"></param>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.CoreContainerExtension.ResolveWithoutRoot(System.IServiceProvider,System.Type)">
            <summary>
            创建<see cref="F:TouchSocket.Core.Lifetime.Transient"/>生命的未注册的根类型实例。一般适用于：目标类型没有注册，但是其成员类型已经注册的情况。
            </summary>
            <param name="resolver"></param>
            <param name="fromType"></param>
            <returns></returns>
            <exception cref="T:System.Exception"></exception>
        </member>
        <member name="M:TouchSocket.Core.CoreContainerExtension.ResolveWithoutRoot``1(System.IServiceProvider)">
            <summary>
            创建<see cref="F:TouchSocket.Core.Lifetime.Transient"/>生命的未注册的根类型实例。一般适用于：目标类型没有注册，但是其成员类型已经注册的情况。
            </summary>
            <param name="resolver"></param>
            <returns></returns>
            <exception cref="T:System.Exception"></exception>
        </member>
        <member name="M:TouchSocket.Core.CoreContainerExtension.TryResolve(TouchSocket.Core.IResolver,System.Type)">
            <summary>
             尝试创建类型对应的实例，如果类型没有注册，则会返回null或者默认值类型。
            </summary>
            <param name="resolver"></param>
            <param name="fromType"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.CoreContainerExtension.TryResolve(TouchSocket.Core.IResolver,System.Type,System.String)">
            <summary>
             尝试创建类型对应的实例，如果类型没有注册，则会返回null或者默认值类型。
            </summary>
            <param name="resolver"></param>
            <param name="fromType"></param>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.CoreContainerExtension.TryResolve``1(TouchSocket.Core.IResolver)">
            <summary>
            尝试创建类型对应的实例，如果类型没有注册，则会返回null或者默认值类型。
            </summary>
            <typeparam name="T"></typeparam>
            <param name="resolver"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.CoreContainerExtension.TryResolve``1(TouchSocket.Core.IResolver,System.String)">
            <summary>
            尝试创建类型对应的实例，如果类型没有注册，则会返回null或者默认值类型。
            </summary>
            <typeparam name="T"></typeparam>
            <param name="resolver"></param>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.CoreContainerExtension.IsRegistered``1(TouchSocket.Core.IRegistered)">
            <summary>
            <inheritdoc cref="M:TouchSocket.Core.IRegistered.IsRegistered(System.Type)"/>
            </summary>
            <typeparam name="T"></typeparam>
            <param name="registered"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.CoreContainerExtension.IsRegistered``1(TouchSocket.Core.IRegistered,System.String)">
            <summary>
            <inheritdoc cref="M:TouchSocket.Core.IRegistered.IsRegistered(System.Type,System.String)"/>
            </summary>
            <typeparam name="T"></typeparam>
            <param name="registered"></param>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.DependencyType">
            <summary>
            依赖注入类型。
            </summary>
        </member>
        <member name="F:TouchSocket.Core.DependencyType.Constructor">
            <summary>
            构造函数
            </summary>
        </member>
        <member name="F:TouchSocket.Core.DependencyType.Property">
            <summary>
            属性
            </summary>
        </member>
        <member name="F:TouchSocket.Core.DependencyType.Method">
            <summary>
            方法
            </summary>
        </member>
        <member name="T:TouchSocket.Core.IContainer">
            <summary>
            注入容器接口
            </summary>
        </member>
        <member name="T:TouchSocket.Core.IRegistered">
            <summary>
            IRegistered
            </summary>
        </member>
        <member name="M:TouchSocket.Core.IRegistered.IsRegistered(System.Type,System.String)">
            <summary>
            判断某类型是否已经注册
            </summary>
            <param name="fromType"></param>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.IRegistered.IsRegistered(System.Type)">
            <summary>
            判断某类型是否已经注册
            </summary>
            <param name="fromType"></param>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.IRegistrator">
            <summary>
            容器注册器
            </summary>
        </member>
        <member name="M:TouchSocket.Core.IRegistrator.Register(TouchSocket.Core.DependencyDescriptor,System.String)">
            <summary>
            添加类型描述符。
            </summary>
            <param name="key"></param>
            <param name="descriptor"></param>
        </member>
        <member name="M:TouchSocket.Core.IRegistrator.Register(TouchSocket.Core.DependencyDescriptor)">
            <summary>
            添加类型描述符
            </summary>
            <param name="descriptor"></param>
        </member>
        <member name="M:TouchSocket.Core.IRegistrator.Unregister(TouchSocket.Core.DependencyDescriptor,System.String)">
            <summary>
            移除注册信息。
            </summary>
            <param name="descriptor"></param>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.IRegistrator.Unregister(TouchSocket.Core.DependencyDescriptor)">
            <summary>
            移除注册信息
            </summary>
            <param name="descriptor"></param>
        </member>
        <member name="M:TouchSocket.Core.IRegistrator.GetDescriptors">
            <summary>
            获取已注册的所有类型描述
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.IRegistrator.BuildResolver">
            <summary>
            构建一个服务获取器
            </summary>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.IResolver">
            <summary>
            IResolver
            </summary>
        </member>
        <member name="M:TouchSocket.Core.IResolver.Resolve(System.Type,System.String)">
            <summary>
            创建目标类型的对应实例。
            </summary>
            <param name="fromType"></param>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.IResolver.Resolve(System.Type)">
            <summary>
            创建目标类型的对应实例。
            </summary>
            <param name="fromType"></param>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.IResolverObject">
            <summary>
            IResolverObject
            </summary>
        </member>
        <member name="P:TouchSocket.Core.IResolverObject.Resolver">
            <summary>
            Resolver
            </summary>
        </member>
        <member name="T:TouchSocket.Core.Lifetime">
            <summary>
            注入项的生命周期。
            </summary>
        </member>
        <member name="F:TouchSocket.Core.Lifetime.Singleton">
            <summary>
            单例对象
            </summary>
        </member>
        <member name="F:TouchSocket.Core.Lifetime.Transient">
            <summary>
            瞬时对象
            </summary>
        </member>
        <member name="T:TouchSocket.Core.ManualContainer">
            <summary>
            手动IOC容器
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ManualContainer.BuildResolver">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.ManualContainer.GetDescriptors">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.ManualContainer.GetService(System.Type)">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.ManualContainer.IsRegistered(System.Type,System.String)">
            <summary>
            判断指定的类型是否已在容器中注册。
            <para>
            在本容器中，一般均会返回<see langword="true"/>。
            </para>
            </summary>
            <param name="fromType"></param>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ManualContainer.IsRegistered(System.Type)">
            <summary>
            判断指定的类型是否已在容器中注册。
            <para>
            在本容器中，一般均会返回<see langword="true"/>。
            </para>
            </summary>
            <param name="fromType"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ManualContainer.Register(TouchSocket.Core.DependencyDescriptor,System.String)">
            <summary>
            注册描述符。
            <para>
            一般情况下，本容器只会处理单例实例模式。
            </para>
            </summary>
            <param name="descriptor"></param>
            <param name="key"></param>
        </member>
        <member name="M:TouchSocket.Core.ManualContainer.Register(TouchSocket.Core.DependencyDescriptor)">
            <summary>
            注册描述符。
            <para>
            一般情况下，本容器只会处理单例实例模式。
            </para>
            </summary>
            <param name="descriptor"></param>
        </member>
        <member name="M:TouchSocket.Core.ManualContainer.Resolve(System.Type,System.String)">
            <inheritdoc/>
            <exception cref="T:System.Exception"></exception>
        </member>
        <member name="M:TouchSocket.Core.ManualContainer.Resolve(System.Type)">
            <inheritdoc/>
            <exception cref="T:System.Exception"></exception>
        </member>
        <member name="M:TouchSocket.Core.ManualContainer.Unregister(TouchSocket.Core.DependencyDescriptor,System.String)">
            <summary>
            默认不实现该功能
            </summary>
            <param name="descriptor"></param>
            <param name="key"></param>
            <exception cref="T:System.NotImplementedException"></exception>
        </member>
        <member name="M:TouchSocket.Core.ManualContainer.Unregister(TouchSocket.Core.DependencyDescriptor)">
            <summary>
            默认不实现该功能
            </summary>
            <param name="descriptor"></param>
            <exception cref="T:System.NotImplementedException"></exception>
        </member>
        <member name="M:TouchSocket.Core.ManualContainer.TryResolve(System.Type,System.Object@,System.String)">
            <summary>
            尝试解决Ioc容器所需类型。
            <para>
            本方法仅实现了在单例实例注册下的获取。
            </para>
            </summary>
            <param name="fromType"></param>
            <param name="instance"></param>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ManualContainer.TryResolve(System.Type,System.Object@)">
            <summary>
            尝试解决Ioc容器所需类型。
            <para>
            本方法仅实现了在单例实例注册下的获取。
            </para>
            </summary>
            <param name="fromType"></param>
            <param name="instance"></param>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.AppConfigBase">
            <summary>
            运行配置类
            </summary>
        </member>
        <member name="M:TouchSocket.Core.AppConfigBase.#ctor(System.String)">
            <summary>
            构造函数
            </summary>
            <param name="fullPath"></param>
        </member>
        <member name="M:TouchSocket.Core.AppConfigBase.GetDefault``1">
            <summary>
            获取默认配置。
            </summary>
            <typeparam name="T"></typeparam>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.AppConfigBase.GetNewDefault``1">
            <summary>
            获取默认配置，每次调用该方法时，都会重新加载配置。
            </summary>
            <typeparam name="T"></typeparam>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.AppConfigBase.Load(System.String@)">
            <summary>
            加载配置
            </summary>
            <param name="msg"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.AppConfigBase.Save(System.Boolean,System.String@)">
            <summary>
            保存配置
            </summary>
            <param name="overwrite"></param>
            <param name="msg"></param>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.DecimalConver">
            <summary>
            <see cref="T:System.Decimal"/>与字节数组转换
            </summary>
        </member>
        <member name="M:TouchSocket.Core.DecimalConver.ToBytes(System.Decimal)">
            <summary>
            将<see cref="T:System.Decimal"/>对象转换为固定字节长度（16）数组。
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.DecimalConver.FromBytes(System.Byte[])">
            <summary>
            将固定字节长度（16）数组转换为<see cref="T:System.Decimal"/>对象。
            </summary>
            <param name="array"></param>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.DisposableObject">
            <summary>
            具有释放的对象。内部实现了GC.SuppressFinalize，但不包括析构函数相关。
            </summary>
        </member>
        <member name="F:TouchSocket.Core.DisposableObject.m_disposedValue">
            <summary>
            判断是否已释放。
            </summary>
        </member>
        <member name="P:TouchSocket.Core.DisposableObject.DisposedValue">
            <summary>
            <inheritdoc/>
            </summary>
        </member>
        <member name="M:TouchSocket.Core.DisposableObject.ThrowIfDisposed">
            <summary>
            判断是否已经被释放，如果是，则抛出异常。
            </summary>
            <exception cref="T:System.ObjectDisposedException"></exception>
        </member>
        <member name="M:TouchSocket.Core.DisposableObject.Dispose(System.Boolean)">
            <summary>
            调用释放，切换释放状态。
            </summary>
            <param name="disposing"></param>
        </member>
        <member name="M:TouchSocket.Core.DisposableObject.Dispose">
            <summary>
            释放资源。内部已经处理了<see cref="M:System.GC.SuppressFinalize(System.Object)"/>
            </summary>
        </member>
        <member name="T:TouchSocket.Core.DynamicBuilderType">
            <summary>
            动态构建类型
            </summary>
        </member>
        <member name="F:TouchSocket.Core.DynamicBuilderType.IL">
            <summary>
            使用IL构建
            </summary>
        </member>
        <member name="F:TouchSocket.Core.DynamicBuilderType.Expression">
            <summary>
            使用表达式树
            </summary>
        </member>
        <member name="F:TouchSocket.Core.DynamicBuilderType.Reflect">
            <summary>
            使用反射
            </summary>
        </member>
        <member name="T:TouchSocket.Core.EndianType">
            <summary>
            大小端类型
            </summary>
        </member>
        <member name="F:TouchSocket.Core.EndianType.Little">
            <summary>
            小端模式，即DCBA
            </summary>
        </member>
        <member name="F:TouchSocket.Core.EndianType.Big">
            <summary>
            大端模式。即ABCD
            </summary>
        </member>
        <member name="F:TouchSocket.Core.EndianType.LittleSwap">
            <summary>
            以交换小端格式。即CDAB
            </summary>
        </member>
        <member name="F:TouchSocket.Core.EndianType.BigSwap">
            <summary>
            以交换大端，即：BADC
            </summary>
        </member>
        <member name="T:TouchSocket.Core.ResultCode">
            <summary>
            结果类型
            </summary>
        </member>
        <member name="F:TouchSocket.Core.ResultCode.Default">
            <summary>
            默认
            </summary>
        </member>
        <member name="F:TouchSocket.Core.ResultCode.Error">
            <summary>
            错误
            </summary>
        </member>
        <member name="F:TouchSocket.Core.ResultCode.Exception">
            <summary>
            异常
            </summary>
        </member>
        <member name="F:TouchSocket.Core.ResultCode.Success">
            <summary>
            成功
            </summary>
        </member>
        <member name="F:TouchSocket.Core.ResultCode.Fail">
            <summary>
            失败
            </summary>
        </member>
        <member name="F:TouchSocket.Core.ResultCode.Overtime">
            <summary>
            操作超时
            </summary>
        </member>
        <member name="F:TouchSocket.Core.ResultCode.Canceled">
            <summary>
            操作取消
            </summary>
        </member>
        <member name="T:TouchSocket.Core.GlobalEnvironment">
            <summary>
            全局环境设置
            </summary>
        </member>
        <member name="P:TouchSocket.Core.GlobalEnvironment.DynamicBuilderType">
            <summary>
            动态构建类型，默认使用IL
            </summary>
        </member>
        <member name="T:TouchSocket.Core.IDisposableObject">
            <summary>
            具有释放的对象，包含一个<see cref="P:TouchSocket.Core.IDisposableObject.DisposedValue"/>来标识是否该对象已被释放。
            </summary>
        </member>
        <member name="P:TouchSocket.Core.IDisposableObject.DisposedValue">
            <summary>
            标识该对象是否已被释放
            </summary>
        </member>
        <member name="T:TouchSocket.Core.IResult">
            <summary>
            返回通知接口
            </summary>
        </member>
        <member name="P:TouchSocket.Core.IResult.ResultCode">
            <summary>
            是否成功
            </summary>
        </member>
        <member name="P:TouchSocket.Core.IResult.Message">
            <summary>
            消息
            </summary>
        </member>
        <member name="T:TouchSocket.Core.IWrite">
            <summary>
            规范写端口，提供更多扩展
            </summary>
        </member>
        <member name="M:TouchSocket.Core.IWrite.Write(System.Byte[],System.Int32,System.Int32)">
            <summary>
            写入
            </summary>
            <param name="buffer"></param>
            <param name="offset"></param>
            <param name="length"></param>
        </member>
        <member name="M:TouchSocket.Core.IWrite.Write(System.Byte[])">
            <summary>
            写入
            </summary>
            <param name="buffer"></param>
        </member>
        <member name="T:TouchSocket.Core.Metadata">
            <summary>
            元数据键值对。
            </summary>
        </member>
        <member name="P:TouchSocket.Core.Metadata.Item(System.String)">
            <summary>
            <inheritdoc/>
            </summary>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.Metadata.Add(System.String,System.String)">
            <summary>
            添加。如果键存在，将被覆盖。
            </summary>
            <param name="name"></param>
            <param name="value"></param>
        </member>
        <member name="M:TouchSocket.Core.Metadata.Package(TouchSocket.Core.ByteBlock@)">
            <summary>
            打包
            </summary>
            <param name="byteBlock"></param>
        </member>
        <member name="M:TouchSocket.Core.Metadata.Unpackage(TouchSocket.Core.ByteBlock@)">
            <summary>
            解包
            </summary>
            <param name="byteBlock"></param>
        </member>
        <member name="T:TouchSocket.Core.Result">
            <summary>
            结果返回
            </summary>
        </member>
        <member name="F:TouchSocket.Core.Result.Success">
            <summary>
            成功
            </summary>
        </member>
        <member name="F:TouchSocket.Core.Result.Default">
            <summary>
            初始状态
            </summary>
        </member>
        <member name="F:TouchSocket.Core.Result.UnknownFail">
            <summary>
            未知失败
            </summary>
        </member>
        <member name="F:TouchSocket.Core.Result.Overtime">
            <summary>
            超时
            </summary>
        </member>
        <member name="F:TouchSocket.Core.Result.Canceled">
            <summary>
            取消
            </summary>
        </member>
        <member name="M:TouchSocket.Core.Result.#ctor(TouchSocket.Core.ResultCode,System.String)">
            <summary>
            构造函数
            </summary>
            <param name="resultCode"></param>
            <param name="message"></param>
        </member>
        <member name="M:TouchSocket.Core.Result.#ctor(TouchSocket.Core.IResult)">
            <summary>
            构造函数
            </summary>
            <param name="result"></param>
        </member>
        <member name="M:TouchSocket.Core.Result.#ctor(System.Exception)">
            <summary>
            构造函数
            </summary>
            <param name="exception"></param>
        </member>
        <member name="M:TouchSocket.Core.Result.#ctor(TouchSocket.Core.ResultCode)">
            <summary>
            构造函数
            </summary>
            <param name="resultCode"></param>
        </member>
        <member name="P:TouchSocket.Core.Result.ResultCode">
            <summary>
            <inheritdoc/>
            </summary>
        </member>
        <member name="P:TouchSocket.Core.Result.Message">
            <summary>
            <inheritdoc/>
            </summary>
        </member>
        <member name="M:TouchSocket.Core.Result.FromCanceled(System.String)">
            <summary>
            创建来自<see cref="F:TouchSocket.Core.ResultCode.Canceled"/>的<see cref="T:TouchSocket.Core.Result"/>
            </summary>
            <param name="msg"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.Result.FromError(System.String)">
            <summary>
            创建来自<see cref="F:TouchSocket.Core.ResultCode.Error"/>的<see cref="T:TouchSocket.Core.Result"/>
            </summary>
            <param name="msg"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.Result.FromException(System.String)">
            <summary>
            创建来自<see cref="F:TouchSocket.Core.ResultCode.Exception"/>的<see cref="T:TouchSocket.Core.Result"/>
            </summary>
            <param name="msg"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.Result.FromFail(System.String)">
            <summary>
            创建来自<see cref="F:TouchSocket.Core.ResultCode.Overtime"/>的<see cref="T:TouchSocket.Core.Result"/>
            </summary>
            <param name="msg"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.Result.FromOvertime(System.String)">
            <summary>
            创建来自<see cref="F:TouchSocket.Core.ResultCode.Overtime"/>的<see cref="T:TouchSocket.Core.Result"/>
            </summary>
            <param name="msg"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.Result.FromSuccess(System.String)">
            <summary>
            创建来自<see cref="F:TouchSocket.Core.ResultCode.Success"/>的<see cref="T:TouchSocket.Core.Result"/>
            </summary>
            <param name="msg"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.Result.ToString">
            <summary>
            ToString
            </summary>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.ResultBase">
            <summary>
            结果返回
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ResultBase.#ctor(TouchSocket.Core.ResultCode,System.String)">
            <summary>
            构造函数
            </summary>
            <param name="resultCode"></param>
            <param name="message"></param>
        </member>
        <member name="M:TouchSocket.Core.ResultBase.#ctor(TouchSocket.Core.ResultCode)">
            <summary>
            构造函数
            </summary>
            <param name="resultCode"></param>
        </member>
        <member name="M:TouchSocket.Core.ResultBase.#ctor(TouchSocket.Core.Result)">
            <summary>
            构造函数
            </summary>
            <param name="result"></param>
        </member>
        <member name="M:TouchSocket.Core.ResultBase.#ctor">
            <summary>
            构造函数
            </summary>
        </member>
        <member name="P:TouchSocket.Core.ResultBase.ResultCode">
            <summary>
            <inheritdoc/>
            </summary>
        </member>
        <member name="P:TouchSocket.Core.ResultBase.Message">
            <summary>
            <inheritdoc/>
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ResultBase.ToString">
            <summary>
            ToString
            </summary>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.ResultExtensions">
            <summary>
            ResultExtensions
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ResultExtensions.IsSuccess(TouchSocket.Core.IResult)">
            <summary>
            是否成功。
            </summary>
            <param name="result"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ResultExtensions.NotSuccess(TouchSocket.Core.IResult)">
            <summary>
            是否没有成功。
            </summary>
            <param name="result"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ResultExtensions.ToResult(TouchSocket.Core.IResult)">
            <summary>
            转换为<see cref="T:TouchSocket.Core.Result"/>
            </summary>
            <param name="result"></param>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.SnowflakeIdGenerator">
            <summary>
            雪花Id生成器(该代码来自网络)
            </summary>
        </member>
        <member name="F:TouchSocket.Core.SnowflakeIdGenerator.SequenceMask">
            <summary>
            一微秒内可以产生计数，如果达到该值则等到下一微妙在进行生成
            </summary>
        </member>
        <member name="M:TouchSocket.Core.SnowflakeIdGenerator.#ctor(System.Int64)">
            <summary>
            机器码
            </summary>
            <param name="workerId"></param>
        </member>
        <member name="P:TouchSocket.Core.SnowflakeIdGenerator.MaxWorkerId">
            <summary>
            最大机器Id
            </summary>
        </member>
        <member name="M:TouchSocket.Core.SnowflakeIdGenerator.NextId">
            <summary>
            获取Id
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.SnowflakeIdGenerator.tillNextMillis(System.Int64)">
            <summary>
            获取下一微秒时间戳
            </summary>
            <param name="lastTimestamp"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.SnowflakeIdGenerator.timeGen">
            <summary>
            生成当前时间戳
            </summary>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.StringResStore">
            <summary>
            字符串资源字典
            </summary>
        </member>
        <member name="M:TouchSocket.Core.StringResStore.GetDescription(System.Enum,System.Object[])">
            <summary>
            获取资源字符
            </summary>
            <param name="enum"></param>
            <param name="objs"></param>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.TouchSocketCoreUtility">
            <summary>
            常量
            </summary>
        </member>
        <member name="F:TouchSocket.Core.TouchSocketCoreUtility.Empty">
            <summary>
            空字符串常亮
            </summary>
        </member>
        <member name="F:TouchSocket.Core.TouchSocketCoreUtility.ZeroBytes">
            <summary>
            0长度字节数组
            </summary>
        </member>
        <member name="T:TouchSocket.Core.AdapterOption">
            <summary>
            适配器配置
            </summary>
        </member>
        <member name="P:TouchSocket.Core.AdapterOption.CacheTimeoutEnable">
            <summary>
            适配器数据包缓存启用。默认为缺省（null），如果有正常值会在设置适配器时，直接作用于<see cref="P:TouchSocket.Core.SingleStreamDataHandlingAdapter.CacheTimeout"/>
            </summary>
        </member>
        <member name="P:TouchSocket.Core.AdapterOption.CacheTimeout">
            <summary>
            适配器数据包缓存时长。默认为缺省（null）。当该值有效时会在设置适配器时，直接作用于<see cref="P:TouchSocket.Core.SingleStreamDataHandlingAdapter.CacheTimeout"/>
            </summary>
        </member>
        <member name="P:TouchSocket.Core.AdapterOption.MaxPackageSize">
            <summary>
            适配器数据包最大值。默认缺省（null），当该值有效时会在设置适配器时，直接作用于<see cref="P:TouchSocket.Core.DataHandlingAdapter.MaxPackageSize"/>
            </summary>
        </member>
        <member name="P:TouchSocket.Core.AdapterOption.UpdateCacheTimeWhenRev">
            <summary>
             适配器数据包缓存策略。默认缺省（null），当该值有效时会在设置适配器时，直接作用于<see cref="P:TouchSocket.Core.SingleStreamDataHandlingAdapter.UpdateCacheTimeWhenRev"/>
            </summary>
        </member>
        <member name="T:TouchSocket.Core.CacheDataHandlingAdapter">
            <summary>
            CacheDataHandlingAdapter
            </summary>
        </member>
        <member name="F:TouchSocket.Core.CacheDataHandlingAdapter.m_cacheByteBlock">
            <summary>
            缓存数据，如果需要手动释放，请先判断，然后到调用<see cref="M:System.IDisposable.Dispose"/>后，再置空；
            </summary>
        </member>
        <member name="M:TouchSocket.Core.CacheDataHandlingAdapter.Cache(System.Byte[],System.Int32,System.Int32)">
            <summary>
            将数据缓存起来
            </summary>
            <param name="buffer"></param>
            <param name="offset"></param>
            <param name="length"></param>
        </member>
        <member name="M:TouchSocket.Core.CacheDataHandlingAdapter.Reset">
            <summary>
            <inheritdoc/>
            </summary>
        </member>
        <member name="M:TouchSocket.Core.CacheDataHandlingAdapter.TryGetCache(System.Byte[]@)">
            <summary>
            获取当前缓存，
            如果缓存超时，或者不存在，均会返回false。
            如果获取成功，则会清空内部缓存。
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.CacheDataHandlingAdapter.TryGetCache(TouchSocket.Core.ByteBlock@)">
            <summary>
            获取缓存，注意：获取的ByteBlock需要手动释放。
            </summary>
            <param name="byteBlock"></param>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.CustomBetweenAndDataHandlingAdapter`1">
            <summary>
            区间数据包处理适配器，支持以任意字符、字节数组起始与结尾的数据包。
            </summary>
        </member>
        <member name="P:TouchSocket.Core.CustomBetweenAndDataHandlingAdapter`1.StartCode">
            <summary>
            起始字符，不可以为null，可以为0长度
            </summary>
        </member>
        <member name="P:TouchSocket.Core.CustomBetweenAndDataHandlingAdapter`1.MinSize">
            <summary>
            即使找到了终止因子，也不会结束，默认0
            </summary>
        </member>
        <member name="P:TouchSocket.Core.CustomBetweenAndDataHandlingAdapter`1.EndCode">
            <summary>
            结束字符，不可以为null，不可以为0长度，必须具有有效值。
            </summary>
        </member>
        <member name="M:TouchSocket.Core.CustomBetweenAndDataHandlingAdapter`1.Filter(TouchSocket.Core.ByteBlock@,System.Boolean,`0@,System.Int32@)">
            <summary>
            筛选解析数据。实例化的TRequest会一直保存，直至解析成功，或手动清除。
            <para>当不满足解析条件时，请返回<see cref="F:TouchSocket.Core.FilterResult.Cache"/>，此时会保存<see cref="P:TouchSocket.Core.ByteBlock.CanReadLen"/>的数据</para>
            <para>当数据部分异常时，请移动<see cref="P:TouchSocket.Core.ByteBlock.Pos"/>到指定位置，然后返回<see cref="F:TouchSocket.Core.FilterResult.GoOn"/></para>
            <para>当完全满足解析条件时，请返回<see cref="F:TouchSocket.Core.FilterResult.Success"/>最后将<see cref="P:TouchSocket.Core.ByteBlock.Pos"/>移至指定位置。</para>
            </summary>
            <param name="byteBlock">字节块</param>
            <param name="beCached">是否为上次遗留对象，当该参数为True时，request也将是上次实例化的对象。</param>
            <param name="request">对象。</param>
            <param name="tempCapacity">缓存容量。当需要首次缓存时，指示申请的ByteBlock的容量。合理的值可避免ByteBlock扩容带来的性能消耗。</param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.CustomBetweenAndDataHandlingAdapter`1.GetInstance">
            <summary>
            获取泛型实例。
            </summary>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.IBetweenAndRequestInfo">
            <summary>
            区间类型的适配器数据模型接口。
            </summary>
        </member>
        <member name="M:TouchSocket.Core.IBetweenAndRequestInfo.OnParsingStartCode(System.Byte[])">
            <summary>
            当解析到起始字符时。
            </summary>
            <param name="startCode"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.IBetweenAndRequestInfo.OnParsingBody(System.Byte[])">
            <summary>
            当解析数据体。
            <para>在此方法中，您必须手动保存Body内容</para>
            </summary>
            <param name="body"></param>
        </member>
        <member name="M:TouchSocket.Core.IBetweenAndRequestInfo.OnParsingEndCode(System.Byte[])">
            <summary>
            当解析到起始字符时。
            </summary>
            <param name="endCode"></param>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.CustomBigFixedHeaderDataHandlingAdapter`1">
            <summary>
            大数据用户自定义固定包头解析器，使用该适配器时，接收方收到的数据中，<see cref="T:TouchSocket.Core.ByteBlock"/>将为null，同时<see cref="T:TouchSocket.Core.IRequestInfo"/>将实现为TFixedHeaderRequestInfo。
            </summary>
        </member>
        <member name="P:TouchSocket.Core.CustomBigFixedHeaderDataHandlingAdapter`1.HeaderLength">
            <summary>
            固定包头的长度。
            </summary>
        </member>
        <member name="M:TouchSocket.Core.CustomBigFixedHeaderDataHandlingAdapter`1.Filter(TouchSocket.Core.ByteBlock@,System.Boolean,`0@,System.Int32@)">
            <summary>
            筛选解析数据。实例化的TRequest会一直保存，直至解析成功，或手动清除。
            <para>当不满足解析条件时，请返回<see cref="F:TouchSocket.Core.FilterResult.Cache"/>，此时会保存<see cref="P:TouchSocket.Core.ByteBlock.CanReadLen"/>的数据</para>
            <para>当数据部分异常时，请移动<see cref="P:TouchSocket.Core.ByteBlock.Pos"/>到指定位置，然后返回<see cref="F:TouchSocket.Core.FilterResult.GoOn"/></para>
            <para>当完全满足解析条件时，请返回<see cref="F:TouchSocket.Core.FilterResult.Success"/>最后将<see cref="P:TouchSocket.Core.ByteBlock.Pos"/>移至指定位置。</para>
            </summary>
            <param name="byteBlock">字节块</param>
            <param name="beCached">是否为上次遗留对象，当该参数为True时，request也将是上次实例化的对象。</param>
            <param name="request">对象。</param>
            <param name="tempCapacity">缓存容量。当需要首次缓存时，指示申请的ByteBlock的容量。合理的值可避免ByteBlock扩容带来的性能消耗。</param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.CustomBigFixedHeaderDataHandlingAdapter`1.GetInstance">
            <summary>
            获取泛型实例。
            </summary>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.IBigFixedHeaderRequestInfo">
            <summary>
            用户自定义固定包头请求
            </summary>
        </member>
        <member name="P:TouchSocket.Core.IBigFixedHeaderRequestInfo.BodyLength">
            <summary>
            数据体长度
            </summary>
        </member>
        <member name="M:TouchSocket.Core.IBigFixedHeaderRequestInfo.OnParsingHeader(System.Byte[])">
            <summary>
            当收到数据，由框架封送固定协议头。
            <para>您需要在此函数中，解析自己的固定包头，并且对<see cref="P:TouchSocket.Core.IBigFixedHeaderRequestInfo.BodyLength"/>赋值后续数据的长度，然后返回True。</para>
            <para>如果返回false，则意味着放弃本次解析</para>
            </summary>
            <param name="header"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.IBigFixedHeaderRequestInfo.OnAppendBody(System.Byte[])">
            <summary>
            当收到数据，由框架封送数据。
            <para>您需要将有效数据自行保存。该方法可能会多次调用。</para>
            </summary>
            <param name="buffer"></param>
            <returns>是否成功有效</returns>
        </member>
        <member name="M:TouchSocket.Core.IBigFixedHeaderRequestInfo.OnFinished">
            <summary>
            当完成数据接收时调用。
            <para>当返回False时，将不会把该对象向Received传递。</para>
            </summary>
            <returns>是否成功有效</returns>
        </member>
        <member name="T:TouchSocket.Core.CustomDataHandlingAdapter`1">
            <summary>
            用户自定义数据处理适配器，使用该适配器时，接收方收到的数据中，<see cref="T:TouchSocket.Core.ByteBlock"/>将为null，
            同时<see cref="T:TouchSocket.Core.IRequestInfo"/>将实现为TRequest，发送数据直接发送。
            </summary>
        </member>
        <member name="F:TouchSocket.Core.CustomDataHandlingAdapter`1.TempByteBlock">
            <summary>
            缓存数据，如果需要手动释放，请先判断，然后到调用<see cref="M:System.IDisposable.Dispose"/>后，再置空；
            </summary>
        </member>
        <member name="F:TouchSocket.Core.CustomDataHandlingAdapter`1.TempRequest">
            <summary>
            缓存对象。
            </summary>
        </member>
        <member name="P:TouchSocket.Core.CustomDataHandlingAdapter`1.CanSendRequestInfo">
            <summary>
            <inheritdoc/>
            </summary>
        </member>
        <member name="P:TouchSocket.Core.CustomDataHandlingAdapter`1.CanSplicingSend">
            <summary>
            默认不支持拼接发送
            </summary>
        </member>
        <member name="M:TouchSocket.Core.CustomDataHandlingAdapter`1.Filter(TouchSocket.Core.ByteBlock@,System.Boolean,`0@,System.Int32@)">
            <summary>
            筛选解析数据。实例化的TRequest会一直保存，直至解析成功，或手动清除。
            <para>当不满足解析条件时，请返回<see cref="F:TouchSocket.Core.FilterResult.Cache"/>，此时会保存<see cref="P:TouchSocket.Core.ByteBlock.CanReadLen"/>的数据</para>
            <para>当数据部分异常时，请移动<see cref="P:TouchSocket.Core.ByteBlock.Pos"/>到指定位置，然后返回<see cref="F:TouchSocket.Core.FilterResult.GoOn"/></para>
            <para>当完全满足解析条件时，请返回<see cref="F:TouchSocket.Core.FilterResult.Success"/>最后将<see cref="P:TouchSocket.Core.ByteBlock.Pos"/>移至指定位置。</para>
            </summary>
            <param name="byteBlock">字节块</param>
            <param name="beCached">是否为上次遗留对象，当该参数为True时，request也将是上次实例化的对象。</param>
            <param name="request">对象。</param>
            <param name="tempCapacity">缓存容量。当需要首次缓存时，指示申请的ByteBlock的容量。合理的值可避免ByteBlock扩容带来的性能消耗。</param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.CustomDataHandlingAdapter`1.OnReceivedSuccess(`0)">
            <summary>
            成功执行接收以后。
            </summary>
            <param name="request"></param>
        </member>
        <member name="M:TouchSocket.Core.CustomDataHandlingAdapter`1.OnReceivingSuccess(`0)">
            <summary>
            即将执行<see cref="M:TouchSocket.Core.SingleStreamDataHandlingAdapter.GoReceived(TouchSocket.Core.ByteBlock,TouchSocket.Core.IRequestInfo)"/>。
            </summary>
            <param name="request"></param>
            <returns>返回值标识是否继续执行</returns>
        </member>
        <member name="M:TouchSocket.Core.CustomDataHandlingAdapter`1.PreviewReceived(TouchSocket.Core.ByteBlock)">
            <summary>
            <inheritdoc/>
            </summary>
            <param name="byteBlock"></param>
        </member>
        <member name="M:TouchSocket.Core.CustomDataHandlingAdapter`1.PreviewSend(System.Byte[],System.Int32,System.Int32)">
            <summary>
            <inheritdoc/>
            </summary>
            <param name="buffer">数据</param>
            <param name="offset">偏移</param>
            <param name="length">长度</param>
        </member>
        <member name="M:TouchSocket.Core.CustomDataHandlingAdapter`1.Reset">
            <summary>
            <inheritdoc/>
            </summary>
        </member>
        <member name="T:TouchSocket.Core.CustomFixedHeaderByteBlockDataHandlingAdapter`1">
            <summary>
            用户自定义固定包头内存池解析器，使用该适配器时，接收方收到的数据中，<see cref="T:TouchSocket.Core.ByteBlock"/>将为null，同时<see cref="T:TouchSocket.Core.IRequestInfo"/>将实现为TFixedHeaderRequestInfo。
            </summary>
        </member>
        <member name="P:TouchSocket.Core.CustomFixedHeaderByteBlockDataHandlingAdapter`1.HeaderLength">
            <summary>
            固定包头的长度。
            </summary>
        </member>
        <member name="M:TouchSocket.Core.CustomFixedHeaderByteBlockDataHandlingAdapter`1.Filter(TouchSocket.Core.ByteBlock@,System.Boolean,`0@,System.Int32@)">
            <summary>
            筛选解析数据。实例化的TRequest会一直保存，直至解析成功，或手动清除。
            <para>当不满足解析条件时，请返回<see cref="F:TouchSocket.Core.FilterResult.Cache"/>，此时会保存<see cref="P:TouchSocket.Core.ByteBlock.CanReadLen"/>的数据</para>
            <para>当数据部分异常时，请移动<see cref="P:TouchSocket.Core.ByteBlock.Pos"/>到指定位置，然后返回<see cref="F:TouchSocket.Core.FilterResult.GoOn"/></para>
            <para>当完全满足解析条件时，请返回<see cref="F:TouchSocket.Core.FilterResult.Success"/>最后将<see cref="P:TouchSocket.Core.ByteBlock.Pos"/>移至指定位置。</para>
            </summary>
            <param name="byteBlock">字节块</param>
            <param name="beCached">是否为上次遗留对象，当该参数为True时，request也将是上次实例化的对象。</param>
            <param name="request">对象。</param>
            <param name="tempCapacity">缓存容量。当需要首次缓存时，指示申请的ByteBlock的容量。合理的值可避免ByteBlock扩容带来的性能消耗。</param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.CustomFixedHeaderByteBlockDataHandlingAdapter`1.GetInstance">
            <summary>
            获取泛型实例。
            </summary>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.IFixedHeaderByteBlockRequestInfo">
            <summary>
            用户自定义固定包头请求
            </summary>
        </member>
        <member name="P:TouchSocket.Core.IFixedHeaderByteBlockRequestInfo.BodyLength">
            <summary>
            数据体长度
            </summary>
        </member>
        <member name="M:TouchSocket.Core.IFixedHeaderByteBlockRequestInfo.OnParsingHeader(System.Byte[])">
            <summary>
            当收到数据，由框架封送固定协议头。
            <para>您需要在此函数中，解析自己的固定包头，并且对<see cref="P:TouchSocket.Core.IFixedHeaderByteBlockRequestInfo.BodyLength"/>赋值后续数据的长度，然后返回True。</para>
            <para>如果返回false，则意味着放弃本次解析</para>
            </summary>
            <param name="header"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.IFixedHeaderByteBlockRequestInfo.OnParsingBody(TouchSocket.Core.ByteBlock)">
            <summary>
            当收到数据，由框架封送有效载荷数据。
            <para>如果返回false，意味着放弃本次解析的所有数据，包括已经解析完成的Header</para>
            </summary>
            <param name="byteBlock">载荷数据，注意：该字节块生命周期不受框架控制，请一定自行调用Dispose</param>
            <returns>是否成功有效</returns>
        </member>
        <member name="T:TouchSocket.Core.CustomFixedHeaderDataHandlingAdapter`1">
            <summary>
            用户自定义固定包头解析器，使用该适配器时，接收方收到的数据中，<see cref="T:TouchSocket.Core.ByteBlock"/>将为null，同时<see cref="T:TouchSocket.Core.IRequestInfo"/>将实现为TFixedHeaderRequestInfo。
            </summary>
        </member>
        <member name="P:TouchSocket.Core.CustomFixedHeaderDataHandlingAdapter`1.HeaderLength">
            <summary>
            固定包头的长度。
            </summary>
        </member>
        <member name="M:TouchSocket.Core.CustomFixedHeaderDataHandlingAdapter`1.Filter(TouchSocket.Core.ByteBlock@,System.Boolean,`0@,System.Int32@)">
            <summary>
            筛选解析数据。实例化的TRequest会一直保存，直至解析成功，或手动清除。
            <para>当不满足解析条件时，请返回<see cref="F:TouchSocket.Core.FilterResult.Cache"/>，此时会保存<see cref="P:TouchSocket.Core.ByteBlock.CanReadLen"/>的数据</para>
            <para>当数据部分异常时，请移动<see cref="P:TouchSocket.Core.ByteBlock.Pos"/>到指定位置，然后返回<see cref="F:TouchSocket.Core.FilterResult.GoOn"/></para>
            <para>当完全满足解析条件时，请返回<see cref="F:TouchSocket.Core.FilterResult.Success"/>最后将<see cref="P:TouchSocket.Core.ByteBlock.Pos"/>移至指定位置。</para>
            </summary>
            <param name="byteBlock">字节块</param>
            <param name="beCached">是否为上次遗留对象，当该参数为True时，request也将是上次实例化的对象。</param>
            <param name="request">对象。</param>
            <param name="tempCapacity">缓存容量。当需要首次缓存时，指示申请的ByteBlock的容量。合理的值可避免ByteBlock扩容带来的性能消耗。</param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.CustomFixedHeaderDataHandlingAdapter`1.GetInstance">
            <summary>
            获取泛型实例。
            </summary>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.IFixedHeaderRequestInfo">
            <summary>
            用户自定义固定包头请求
            </summary>
        </member>
        <member name="P:TouchSocket.Core.IFixedHeaderRequestInfo.BodyLength">
            <summary>
            数据体长度
            </summary>
        </member>
        <member name="M:TouchSocket.Core.IFixedHeaderRequestInfo.OnParsingHeader(System.Byte[])">
            <summary>
            当收到数据，由框架封送固定协议头。
            <para>您需要在此函数中，解析自己的固定包头，并且对<see cref="P:TouchSocket.Core.IFixedHeaderRequestInfo.BodyLength"/>赋值后续数据的长度，然后返回True。</para>
            <para>如果返回false，则意味着放弃本次解析</para>
            </summary>
            <param name="header"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.IFixedHeaderRequestInfo.OnParsingBody(System.Byte[])">
            <summary>
            当收到数据，由框架封送有效载荷数据。
            <para>如果返回false，意味着放弃本次解析的所有数据，包括已经解析完成的Header</para>
            </summary>
            <param name="body">载荷数据</param>
            <returns>是否成功有效</returns>
        </member>
        <member name="T:TouchSocket.Core.IUnfixedHeaderRequestInfo">
            <summary>
            用户自定义不固定包头请求
            </summary>
        </member>
        <member name="P:TouchSocket.Core.IUnfixedHeaderRequestInfo.BodyLength">
            <summary>
            数据体长度
            </summary>
        </member>
        <member name="P:TouchSocket.Core.IUnfixedHeaderRequestInfo.HeaderLength">
            <summary>
            协议头长度
            </summary>
        </member>
        <member name="M:TouchSocket.Core.IUnfixedHeaderRequestInfo.OnParsingBody(System.Byte[])">
            <summary>
            当收到数据，由框架封送有效载荷数据。
            <para>如果返回false，意味着放弃本次解析的所有数据，包括已经解析完成的Header</para>
            </summary>
            <param name="body">载荷数据</param>
            <returns>是否成功有效</returns>
        </member>
        <member name="M:TouchSocket.Core.IUnfixedHeaderRequestInfo.OnParsingHeader(TouchSocket.Core.ByteBlock)">
            <summary>
            当收到数据，由框架封送数据，您需要在此函数中，解析自己的数据包头。
            <para>如果满足包头的解析，请返回True，并且递增整个包头的长度到<see cref="P:TouchSocket.Core.ByteBlock.Pos"/>，然后赋值<see cref="P:TouchSocket.Core.IUnfixedHeaderRequestInfo.BodyLength"/></para>
            <para>如果返回false，意味着缓存剩余数据，此时如果仅仅是因为长度不足，则不必修改其他。</para>
            <para>但是如果是因为数据错误，则需要修改<see cref="P:TouchSocket.Core.ByteBlock.Pos"/>到正确位置，如果都不正确，则设置<see cref="P:TouchSocket.Core.ByteBlock.Pos"/>等于<see cref="P:TouchSocket.Core.ByteBlock.Len"/></para>
            </summary>
            <param name="byteBlock"></param>
            <returns>是否满足解析包头</returns>
        </member>
        <member name="T:TouchSocket.Core.CustomUnfixedHeaderDataHandlingAdapter`1">
            <summary>
            用户自定义固定包头解析器，使用该适配器时，接收方收到的数据中，<see cref="T:TouchSocket.Core.ByteBlock"/>将为null，同时<see cref="T:TouchSocket.Core.IRequestInfo"/>将实现为TUnfixedHeaderRequestInfo。
            </summary>
        </member>
        <member name="M:TouchSocket.Core.CustomUnfixedHeaderDataHandlingAdapter`1.Filter(TouchSocket.Core.ByteBlock@,System.Boolean,`0@,System.Int32@)">
            <summary>
            筛选解析数据。实例化的TRequest会一直保存，直至解析成功，或手动清除。
            <para>当不满足解析条件时，请返回<see cref="F:TouchSocket.Core.FilterResult.Cache"/>，此时会保存<see cref="P:TouchSocket.Core.ByteBlock.CanReadLen"/>的数据</para>
            <para>当数据部分异常时，请移动<see cref="P:TouchSocket.Core.ByteBlock.Pos"/>到指定位置，然后返回<see cref="F:TouchSocket.Core.FilterResult.GoOn"/></para>
            <para>当完全满足解析条件时，请返回<see cref="F:TouchSocket.Core.FilterResult.Success"/>最后将<see cref="P:TouchSocket.Core.ByteBlock.Pos"/>移至指定位置。</para>
            </summary>
            <param name="byteBlock">字节块</param>
            <param name="beCached">是否为上次遗留对象，当该参数为True时，request也将是上次实例化的对象。</param>
            <param name="request">对象。</param>
            <param name="tempCapacity">缓存容量。当需要首次缓存时，指示申请的ByteBlock的容量。合理的值可避免ByteBlock扩容带来的性能消耗。</param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.CustomUnfixedHeaderDataHandlingAdapter`1.GetInstance">
            <summary>
            获取泛型实例。
            </summary>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.DataHandlingAdapter">
            <summary>
            数据处理适配器
            </summary>
        </member>
        <member name="P:TouchSocket.Core.DataHandlingAdapter.CanSendRequestInfo">
            <summary>
            是否允许发送<see cref="T:TouchSocket.Core.IRequestInfo"/>对象。
            </summary>
        </member>
        <member name="P:TouchSocket.Core.DataHandlingAdapter.CanSplicingSend">
            <summary>
            拼接发送
            </summary>
        </member>
        <member name="P:TouchSocket.Core.DataHandlingAdapter.Logger">
            <summary>
            日志记录器。
            </summary>
        </member>
        <member name="P:TouchSocket.Core.DataHandlingAdapter.MaxPackageSize">
            <summary>
            获取或设置适配器能接收的最大数据包长度。默认1024*1024 Byte。
            </summary>
        </member>
        <member name="P:TouchSocket.Core.DataHandlingAdapter.Owner">
            <summary>
            适配器所有者
            </summary>
        </member>
        <member name="M:TouchSocket.Core.DataHandlingAdapter.OnLoaded(System.Object)">
            <summary>
            当适配器在被第一次加载时调用。
            </summary>
            <param name="owner"></param>
            <exception cref="T:System.Exception">此适配器已被其他终端使用，请重新创建对象。</exception>
        </member>
        <member name="M:TouchSocket.Core.DataHandlingAdapter.OnError(System.Exception,System.String,System.Boolean,System.Boolean)">
            <summary>
            在解析时发生错误。
            </summary>
            <param name="ex">异常</param>
            <param name="error">错误异常</param>
            <param name="reset">是否调用<see cref="M:TouchSocket.Core.DataHandlingAdapter.Reset"/></param>
            <param name="log">是否记录日志</param>
        </member>
        <member name="M:TouchSocket.Core.DataHandlingAdapter.Reset">
            <summary>
            重置解析器到初始状态，一般在<see cref="M:TouchSocket.Core.DataHandlingAdapter.OnError(System.Exception,System.String,System.Boolean,System.Boolean)"/>被触发时，由返回值指示是否调用。
            </summary>
        </member>
        <member name="T:TouchSocket.Core.DataHandlingAdapterExtension">
            <summary>
            DateHandleAdapterExtension
            </summary>
        </member>
        <member name="M:TouchSocket.Core.DataHandlingAdapterExtension.Config(TouchSocket.Core.SingleStreamDataHandlingAdapter,TouchSocket.Core.TouchSocketConfig)">
            <summary>
            将<see cref="T:TouchSocket.Core.TouchSocketConfig"/>中的配置，装载在<see cref="T:TouchSocket.Core.SingleStreamDataHandlingAdapter"/>上。
            </summary>
            <param name="adapter"></param>
            <param name="config"></param>
        </member>
        <member name="M:TouchSocket.Core.DataHandlingAdapterExtension.Config(TouchSocket.Core.DataHandlingAdapter,TouchSocket.Core.TouchSocketConfig)">
            <summary>
            将<see cref="T:TouchSocket.Core.TouchSocketConfig"/>中的配置，装载在<see cref="T:TouchSocket.Core.SingleStreamDataHandlingAdapter"/>上。
            </summary>
            <param name="adapter"></param>
            <param name="config"></param>
        </member>
        <member name="F:TouchSocket.Core.DataHandlingAdapterExtension.AdapterOptionProperty">
            <summary>
            设置适配器相关的配置
            </summary>
        </member>
        <member name="M:TouchSocket.Core.DataHandlingAdapterExtension.SetAdapterOption(TouchSocket.Core.TouchSocketConfig,TouchSocket.Core.AdapterOption)">
            <summary>
            设置适配器相关的配置
            </summary>
            <param name="config"></param>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.DataHandlingAdapterExtension.BuildAsBytes(TouchSocket.Core.IRequestInfoBuilder)">
            <summary>
            将对象构建到字节数组
            </summary>
            <param name="requestInfo"></param>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.FilterResult">
            <summary>
            过滤结果
            </summary>
        </member>
        <member name="F:TouchSocket.Core.FilterResult.Cache">
            <summary>
            缓存后续所有<see cref="P:TouchSocket.Core.ByteBlock.CanReadLen"/>数据。
            </summary>
        </member>
        <member name="F:TouchSocket.Core.FilterResult.Success">
            <summary>
            操作成功
            </summary>
        </member>
        <member name="F:TouchSocket.Core.FilterResult.GoOn">
            <summary>
            继续操作，一般原因是本次数据有部分无效，但已经调整了<see cref="P:TouchSocket.Core.ByteBlock.Pos"/>属性，所以继续后续解析。
            <para>或者想放弃当前数据的操作，直接设置<see cref="P:TouchSocket.Core.ByteBlock.Pos"/>与<see cref="P:TouchSocket.Core.ByteBlock.Len"/>相等即可。</para>
            </summary>
        </member>
        <member name="T:TouchSocket.Core.FixedHeaderType">
            <summary>
            固定包头类型
            </summary>
        </member>
        <member name="F:TouchSocket.Core.FixedHeaderType.Byte">
            <summary>
            以1Byte标识长度，最长接收255
            </summary>
        </member>
        <member name="F:TouchSocket.Core.FixedHeaderType.Ushort">
            <summary>
            以2Byte标识长度，最长接收65535
            </summary>
        </member>
        <member name="F:TouchSocket.Core.FixedHeaderType.Int">
            <summary>
            以4Byte标识长度，最长接收2147483647
            </summary>
        </member>
        <member name="T:TouchSocket.Core.IAdapterObject">
            <summary>
            能对适配器做配置的客户端
            </summary>
        </member>
        <member name="P:TouchSocket.Core.IAdapterObject.CanSetDataHandlingAdapter">
            <summary>
            是否允许自由调用<see cref="M:TouchSocket.Core.IAdapterObject.SetDataHandlingAdapter(TouchSocket.Core.SingleStreamDataHandlingAdapter)"/>进行赋值。
            </summary>
        </member>
        <member name="P:TouchSocket.Core.IAdapterObject.DataHandlingAdapter">
            <summary>
            数据处理适配器
            </summary>
        </member>
        <member name="M:TouchSocket.Core.IAdapterObject.SetDataHandlingAdapter(TouchSocket.Core.SingleStreamDataHandlingAdapter)">
            <summary>
            设置数据处理适配器
            </summary>
            <param name="adapter"></param>
        </member>
        <member name="T:TouchSocket.Core.IRequestInfo">
            <summary>
            请求解析对象接口。
            </summary>
        </member>
        <member name="T:TouchSocket.Core.IRequestInfoBuilder">
            <summary>
            指示<see cref="T:TouchSocket.Core.IRequestInfo"/>应当如何构建
            </summary>
        </member>
        <member name="P:TouchSocket.Core.IRequestInfoBuilder.MaxLength">
            <summary>
            构建数据时，指示内存池的申请长度。
            </summary>
        </member>
        <member name="M:TouchSocket.Core.IRequestInfoBuilder.Build(TouchSocket.Core.ByteBlock)">
            <summary>
            构建对象到<see cref="T:TouchSocket.Core.ByteBlock"/>
            </summary>
            <param name="byteBlock"></param>
        </member>
        <member name="T:TouchSocket.Core.NormalDataHandlingAdapter">
            <summary>
            普通Tcp数据处理器，该适配器不对数据做任何处理。
            </summary>
        </member>
        <member name="P:TouchSocket.Core.NormalDataHandlingAdapter.CanSplicingSend">
            <summary>
            <inheritdoc/>
            </summary>
        </member>
        <member name="P:TouchSocket.Core.NormalDataHandlingAdapter.CanSendRequestInfo">
            <summary>
            <inheritdoc/>
            </summary>
        </member>
        <member name="M:TouchSocket.Core.NormalDataHandlingAdapter.PreviewReceived(TouchSocket.Core.ByteBlock)">
            <summary>
            当接收到数据时处理数据
            </summary>
            <param name="byteBlock">数据流</param>
        </member>
        <member name="M:TouchSocket.Core.NormalDataHandlingAdapter.PreviewSend(System.Byte[],System.Int32,System.Int32)">
            <summary>
            <inheritdoc/>
            </summary>
            <param name="buffer">数据</param>
            <param name="offset">偏移</param>
            <param name="length">长度</param>
        </member>
        <member name="M:TouchSocket.Core.NormalDataHandlingAdapter.PreviewSend(System.Collections.Generic.IList{System.ArraySegment{System.Byte}})">
            <summary>
            <inheritdoc/>
            </summary>
            <param name="transferBytes"></param>
        </member>
        <member name="M:TouchSocket.Core.NormalDataHandlingAdapter.PreviewSend(TouchSocket.Core.IRequestInfo)">
            <summary>
            <inheritdoc/>
            </summary>
            <param name="requestInfo"></param>
        </member>
        <member name="M:TouchSocket.Core.NormalDataHandlingAdapter.PreviewSendAsync(TouchSocket.Core.IRequestInfo)">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.NormalDataHandlingAdapter.PreviewSendAsync(System.Byte[],System.Int32,System.Int32)">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.NormalDataHandlingAdapter.PreviewSendAsync(System.Collections.Generic.IList{System.ArraySegment{System.Byte}})">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.NormalDataHandlingAdapter.Reset">
            <summary>
            <inheritdoc/>
            </summary>
        </member>
        <member name="T:TouchSocket.Core.SingleStreamDataHandlingAdapter">
            <summary>
            单线程状况的流式数据处理适配器。
            </summary>
        </member>
        <member name="P:TouchSocket.Core.SingleStreamDataHandlingAdapter.CacheTimeout">
            <summary>
            缓存超时时间。默认1秒。
            </summary>
        </member>
        <member name="P:TouchSocket.Core.SingleStreamDataHandlingAdapter.CacheTimeoutEnable">
            <summary>
            是否启用缓存超时。默认false。
            </summary>
        </member>
        <member name="P:TouchSocket.Core.SingleStreamDataHandlingAdapter.CanSendRequestInfo">
            <inheritdoc/>
        </member>
        <member name="P:TouchSocket.Core.SingleStreamDataHandlingAdapter.CanSplicingSend">
            <inheritdoc/>
        </member>
        <member name="P:TouchSocket.Core.SingleStreamDataHandlingAdapter.ReceivedCallBack">
            <summary>
            当接收数据处理完成后，回调该函数执行接收
            </summary>
        </member>
        <member name="P:TouchSocket.Core.SingleStreamDataHandlingAdapter.SendAsyncCallBack">
            <summary>
            当发送数据处理完成后，回调该函数执行异步发送
            </summary>
        </member>
        <member name="P:TouchSocket.Core.SingleStreamDataHandlingAdapter.SendCallBack">
            <summary>
            当发送数据处理完成后，回调该函数执行发送
            </summary>
        </member>
        <member name="P:TouchSocket.Core.SingleStreamDataHandlingAdapter.UpdateCacheTimeWhenRev">
            <summary>
            是否在收到数据时，即刷新缓存时间。默认true。
            <list type="number">
            <item>当设为true时，将弱化<see cref="P:TouchSocket.Core.SingleStreamDataHandlingAdapter.CacheTimeout"/>的作用，只要一直有数据，则缓存不会过期。</item>
            <item>当设为false时，则在<see cref="P:TouchSocket.Core.SingleStreamDataHandlingAdapter.CacheTimeout"/>的时效内。必须完成单个缓存的数据。</item>
            </list>
            </summary>
        </member>
        <member name="P:TouchSocket.Core.SingleStreamDataHandlingAdapter.LastCacheTime">
            <summary>
            最后缓存的时间
            </summary>
        </member>
        <member name="M:TouchSocket.Core.SingleStreamDataHandlingAdapter.ReceivedInput(TouchSocket.Core.ByteBlock)">
            <summary>
            收到数据的切入点，该方法由框架自动调用。
            </summary>
            <param name="byteBlock"></param>
        </member>
        <member name="M:TouchSocket.Core.SingleStreamDataHandlingAdapter.SendInput(TouchSocket.Core.IRequestInfo)">
            <summary>
            发送数据的切入点，该方法由框架自动调用。
            </summary>
            <param name="requestInfo"></param>
        </member>
        <member name="M:TouchSocket.Core.SingleStreamDataHandlingAdapter.SendInput(System.Byte[],System.Int32,System.Int32)">
            <summary>
            发送数据的切入点，该方法由框架自动调用。
            </summary>
            <param name="buffer"></param>
            <param name="offset"></param>
            <param name="length"></param>
        </member>
        <member name="M:TouchSocket.Core.SingleStreamDataHandlingAdapter.SendInput(System.Collections.Generic.IList{System.ArraySegment{System.Byte}})">
            <summary>
            发送数据的切入点，该方法由框架自动调用。
            </summary>
            <param name="transferBytes"></param>
        </member>
        <member name="M:TouchSocket.Core.SingleStreamDataHandlingAdapter.SendInputAsync(TouchSocket.Core.IRequestInfo)">
            <summary>
            发送数据的切入点，该方法由框架自动调用。
            </summary>
            <param name="requestInfo"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.SingleStreamDataHandlingAdapter.SendInputAsync(System.Byte[],System.Int32,System.Int32)">
            <summary>
            发送数据的切入点，该方法由框架自动调用。
            </summary>
            <param name="buffer"></param>
            <param name="offset"></param>
            <param name="length"></param>
        </member>
        <member name="M:TouchSocket.Core.SingleStreamDataHandlingAdapter.SendInputAsync(System.Collections.Generic.IList{System.ArraySegment{System.Byte}})">
            <summary>
            发送数据的切入点，该方法由框架自动调用。
            </summary>
            <param name="transferBytes"></param>
        </member>
        <member name="M:TouchSocket.Core.SingleStreamDataHandlingAdapter.PreviewSend(TouchSocket.Core.IRequestInfo)">
            <summary>
            当发送数据前预先处理数据
            </summary>
            <param name="requestInfo"></param>
        </member>
        <member name="M:TouchSocket.Core.SingleStreamDataHandlingAdapter.PreviewSend(System.Byte[],System.Int32,System.Int32)">
            <summary>
            当发送数据前预先处理数据
            </summary>
            <param name="buffer">数据</param>
            <param name="offset">偏移</param>
            <param name="length">长度</param>
        </member>
        <member name="M:TouchSocket.Core.SingleStreamDataHandlingAdapter.PreviewSend(System.Collections.Generic.IList{System.ArraySegment{System.Byte}})">
            <summary>
            组合发送预处理数据，
            当属性SplicingSend实现为True时，系统才会调用该方法。
            </summary>
            <param name="transferBytes">代发送数据组合</param>
        </member>
        <member name="M:TouchSocket.Core.SingleStreamDataHandlingAdapter.PreviewSendAsync(TouchSocket.Core.IRequestInfo)">
            <summary>
            当发送数据前预先处理数据
            </summary>
            <param name="requestInfo"></param>
        </member>
        <member name="M:TouchSocket.Core.SingleStreamDataHandlingAdapter.PreviewSendAsync(System.Byte[],System.Int32,System.Int32)">
            <summary>
            当发送数据前预先处理数据
            </summary>
            <param name="buffer">数据</param>
            <param name="offset">偏移</param>
            <param name="length">长度</param>
        </member>
        <member name="M:TouchSocket.Core.SingleStreamDataHandlingAdapter.PreviewSendAsync(System.Collections.Generic.IList{System.ArraySegment{System.Byte}})">
            <summary>
            组合发送预处理数据，
            当属性SplicingSend实现为True时，系统才会调用该方法。
            </summary>
            <param name="transferBytes">代发送数据组合</param>
        </member>
        <member name="M:TouchSocket.Core.SingleStreamDataHandlingAdapter.Dispose(System.Boolean)">
            <summary>
            <inheritdoc/>
            </summary>
            <param name="disposing"></param>
        </member>
        <member name="M:TouchSocket.Core.SingleStreamDataHandlingAdapter.GoReceived(TouchSocket.Core.ByteBlock,TouchSocket.Core.IRequestInfo)">
            <summary>
            处理已经经过预先处理后的数据
            </summary>
            <param name="byteBlock">以二进制形式传递</param>
            <param name="requestInfo">以解析实例传递</param>
        </member>
        <member name="M:TouchSocket.Core.SingleStreamDataHandlingAdapter.GoSend(System.Byte[],System.Int32,System.Int32)">
            <summary>
            发送已经经过预先处理后的数据
            </summary>
            <param name="buffer"></param>
            <param name="offset"></param>
            <param name="length"></param>
        </member>
        <member name="M:TouchSocket.Core.SingleStreamDataHandlingAdapter.GoSendAsync(System.Byte[],System.Int32,System.Int32)">
            <summary>
            异步发送已经经过预先处理后的数据
            </summary>
            <param name="buffer"></param>
            <param name="offset"></param>
            <param name="length"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.SingleStreamDataHandlingAdapter.PreviewReceived(TouchSocket.Core.ByteBlock)">
            <summary>
            当接收到数据后预先处理数据,然后调用<see cref="M:TouchSocket.Core.SingleStreamDataHandlingAdapter.GoReceived(TouchSocket.Core.ByteBlock,TouchSocket.Core.IRequestInfo)"/>处理数据
            </summary>
            <param name="byteBlock"></param>
        </member>
        <member name="M:TouchSocket.Core.SingleStreamDataHandlingAdapter.Reset">
            <summary>
            重置解析器到初始状态，一般在<see cref="M:TouchSocket.Core.DataHandlingAdapter.OnError(System.Exception,System.String,System.Boolean,System.Boolean)"/>被触发时，由返回值指示是否调用。
            </summary>
        </member>
        <member name="T:TouchSocket.Core.SingleStreamDataAdapterTester">
             <summary>
            单线程状况的流式数据处理适配器测试
             </summary>
        </member>
        <member name="M:TouchSocket.Core.SingleStreamDataAdapterTester.#ctor">
            <summary>
            Tcp数据处理适配器测试
            </summary>
        </member>
        <member name="M:TouchSocket.Core.SingleStreamDataAdapterTester.CreateTester(TouchSocket.Core.SingleStreamDataHandlingAdapter,System.Int32,System.Action{TouchSocket.Core.ByteBlock,TouchSocket.Core.IRequestInfo})">
            <summary>
            获取测试器
            </summary>
            <param name="adapter">待测试适配器</param>
            <param name="receivedCallBack">收到数据回调</param>
            <param name="bufferLength">缓存数据长度</param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.SingleStreamDataAdapterTester.Dispose">
            <summary>
            释放
            </summary>
        </member>
        <member name="M:TouchSocket.Core.SingleStreamDataAdapterTester.Run(System.Byte[],System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            模拟测试运行发送
            </summary>
            <param name="buffer"></param>
            <param name="offset"></param>
            <param name="length"></param>
            <param name="testCount">测试次数</param>
            <param name="expectedCount">期待测试次数</param>
            <param name="millisecondsTimeout">超时</param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.SingleStreamDataAdapterTester.Run(System.Byte[],System.Int32,System.Int32,System.Int32)">
            <summary>
            模拟发送
            </summary>
            <param name="buffer"></param>
            <param name="testCount">测试次数</param>
            <param name="expectedCount">期待测试次数</param>
            <param name="millisecondsTimeout">超时</param>
        </member>
        <member name="T:TouchSocket.Core.FixedHeaderPackageAdapter">
            <summary>
            固定包头数据包处理适配器，支持Byte、UShort、Int三种类型作为包头。使用<see cref="P:TouchSocket.Core.TouchSocketBitConverter.DefaultEndianType"/>大小端设置。
            </summary>
        </member>
        <member name="P:TouchSocket.Core.FixedHeaderPackageAdapter.CanSendRequestInfo">
            <summary>
            <inheritdoc/>
            </summary>
        </member>
        <member name="P:TouchSocket.Core.FixedHeaderPackageAdapter.CanSplicingSend">
            <summary>
            <inheritdoc/>
            </summary>
        </member>
        <member name="P:TouchSocket.Core.FixedHeaderPackageAdapter.FixedHeaderType">
            <summary>
            设置包头类型，默认为int
            </summary>
        </member>
        <member name="P:TouchSocket.Core.FixedHeaderPackageAdapter.MinPackageSize">
            <summary>
            获取或设置包数据的最小值（默认为0）
            </summary>
        </member>
        <member name="M:TouchSocket.Core.FixedHeaderPackageAdapter.PreviewReceived(TouchSocket.Core.ByteBlock)">
            <summary>
            当接收到数据时处理数据
            </summary>
            <param name="byteBlock">数据流</param>
        </member>
        <member name="M:TouchSocket.Core.FixedHeaderPackageAdapter.PreviewSend(System.Byte[],System.Int32,System.Int32)">
            <summary>
            当发送数据前处理数据
            </summary>
            <param name="buffer"></param>
            <param name="offset"></param>
            <param name="length"></param>
        </member>
        <member name="M:TouchSocket.Core.FixedHeaderPackageAdapter.PreviewSend(System.Collections.Generic.IList{System.ArraySegment{System.Byte}})">
            <summary>
            <inheritdoc/>
            </summary>
            <param name="transferBytes"></param>
        </member>
        <member name="M:TouchSocket.Core.FixedHeaderPackageAdapter.PreviewSend(TouchSocket.Core.IRequestInfo)">
            <summary>
            <inheritdoc/>
            </summary>
            <param name="requestInfo"></param>
        </member>
        <member name="M:TouchSocket.Core.FixedHeaderPackageAdapter.PreviewSendAsync(TouchSocket.Core.IRequestInfo)">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.FixedHeaderPackageAdapter.PreviewSendAsync(System.Byte[],System.Int32,System.Int32)">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.FixedHeaderPackageAdapter.PreviewSendAsync(System.Collections.Generic.IList{System.ArraySegment{System.Byte}})">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.FixedHeaderPackageAdapter.Reset">
            <summary>
            <inheritdoc/>
            </summary>
        </member>
        <member name="M:TouchSocket.Core.FixedHeaderPackageAdapter.SeamPackage(System.Byte[],System.Int32)">
            <summary>
            缝合包
            </summary>
            <param name="buffer"></param>
            <param name="r"></param>
        </member>
        <member name="M:TouchSocket.Core.FixedHeaderPackageAdapter.SplitPackage(System.Byte[],System.Int32,System.Int32)">
            <summary>
            分解包
            </summary>
            <param name="dataBuffer"></param>
            <param name="index"></param>
            <param name="r"></param>
        </member>
        <member name="T:TouchSocket.Core.FixedSizePackageAdapter">
            <summary>
            固定长度数据包处理适配器。
            </summary>
        </member>
        <member name="F:TouchSocket.Core.FixedSizePackageAdapter.m_surPlusLength">
            <summary>
            包剩余长度
            </summary>
        </member>
        <member name="F:TouchSocket.Core.FixedSizePackageAdapter.m_tempByteBlock">
            <summary>
            临时包
            </summary>
        </member>
        <member name="M:TouchSocket.Core.FixedSizePackageAdapter.#ctor(System.Int32)">
            <summary>
            构造函数
            </summary>
            <param name="fixedSize">数据包的长度</param>
        </member>
        <member name="P:TouchSocket.Core.FixedSizePackageAdapter.CanSendRequestInfo">
            <summary>
            <inheritdoc/>
            </summary>
        </member>
        <member name="P:TouchSocket.Core.FixedSizePackageAdapter.CanSplicingSend">
            <summary>
            <inheritdoc/>
            </summary>
        </member>
        <member name="P:TouchSocket.Core.FixedSizePackageAdapter.FixedSize">
            <summary>
            获取已设置的数据包的长度
            </summary>
        </member>
        <member name="M:TouchSocket.Core.FixedSizePackageAdapter.PreviewReceived(TouchSocket.Core.ByteBlock)">
            <summary>
            预处理
            </summary>
            <param name="byteBlock"></param>
        </member>
        <member name="M:TouchSocket.Core.FixedSizePackageAdapter.PreviewSend(System.Byte[],System.Int32,System.Int32)">
            <summary>
            预处理
            </summary>
            <param name="buffer"></param>
            <param name="offset"></param>
            <param name="length"></param>
        </member>
        <member name="M:TouchSocket.Core.FixedSizePackageAdapter.PreviewSend(System.Collections.Generic.IList{System.ArraySegment{System.Byte}})">
            <summary>
            <inheritdoc/>
            </summary>
            <param name="transferBytes"></param>
        </member>
        <member name="M:TouchSocket.Core.FixedSizePackageAdapter.PreviewSend(TouchSocket.Core.IRequestInfo)">
            <summary>
            <inheritdoc/>
            </summary>
            <param name="requestInfo"></param>
        </member>
        <member name="M:TouchSocket.Core.FixedSizePackageAdapter.PreviewSendAsync(TouchSocket.Core.IRequestInfo)">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.FixedSizePackageAdapter.PreviewSendAsync(System.Byte[],System.Int32,System.Int32)">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.FixedSizePackageAdapter.PreviewSendAsync(System.Collections.Generic.IList{System.ArraySegment{System.Byte}})">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.FixedSizePackageAdapter.Reset">
            <summary>
            <inheritdoc/>
            </summary>
        </member>
        <member name="T:TouchSocket.Core.PeriodPackageAdapter">
            <summary>
            周期包适配
            </summary>
        </member>
        <member name="M:TouchSocket.Core.PeriodPackageAdapter.PreviewReceived(TouchSocket.Core.ByteBlock)">
            <inheritdoc/>
        </member>
        <member name="T:TouchSocket.Core.TerminatorPackageAdapter">
            <summary>
            终止字符数据包处理适配器，支持以任意字符、字节数组结尾的数据包。
            </summary>
        </member>
        <member name="M:TouchSocket.Core.TerminatorPackageAdapter.#ctor(System.String)">
            <summary>
            构造函数
            </summary>
            <param name="terminator"></param>
        </member>
        <member name="M:TouchSocket.Core.TerminatorPackageAdapter.#ctor(System.String,System.Text.Encoding)">
            <summary>
            构造函数
            </summary>
            <param name="terminator"></param>
            <param name="encoding"></param>
        </member>
        <member name="M:TouchSocket.Core.TerminatorPackageAdapter.#ctor(System.Int32,System.Byte[])">
            <summary>
            构造函数
            </summary>
            <param name="minSize"></param>
            <param name="terminatorCode"></param>
        </member>
        <member name="P:TouchSocket.Core.TerminatorPackageAdapter.CanSendRequestInfo">
            <summary>
            <inheritdoc/>
            </summary>
        </member>
        <member name="P:TouchSocket.Core.TerminatorPackageAdapter.CanSplicingSend">
            <summary>
            <inheritdoc/>
            </summary>
        </member>
        <member name="P:TouchSocket.Core.TerminatorPackageAdapter.MinSize">
            <summary>
            即使找到了终止因子，也不会结束，默认0
            </summary>
        </member>
        <member name="P:TouchSocket.Core.TerminatorPackageAdapter.ReserveTerminatorCode">
            <summary>
            保留终止因子
            </summary>
        </member>
        <member name="M:TouchSocket.Core.TerminatorPackageAdapter.PreviewReceived(TouchSocket.Core.ByteBlock)">
            <summary>
            预处理
            </summary>
            <param name="byteBlock"></param>
        </member>
        <member name="M:TouchSocket.Core.TerminatorPackageAdapter.PreviewSend(System.Byte[],System.Int32,System.Int32)">
            <summary>
            预处理
            </summary>
            <param name="buffer"></param>
            <param name="offset"></param>
            <param name="length"></param>
        </member>
        <member name="M:TouchSocket.Core.TerminatorPackageAdapter.PreviewSend(System.Collections.Generic.IList{System.ArraySegment{System.Byte}})">
            <summary>
            <inheritdoc/>
            </summary>
            <param name="transferBytes"></param>
        </member>
        <member name="M:TouchSocket.Core.TerminatorPackageAdapter.PreviewSend(TouchSocket.Core.IRequestInfo)">
            <summary>
            <inheritdoc/>
            </summary>
            <param name="requestInfo"></param>
        </member>
        <member name="M:TouchSocket.Core.TerminatorPackageAdapter.Reset">
            <summary>
            <inheritdoc/>
            </summary>
        </member>
        <member name="M:TouchSocket.Core.TerminatorPackageAdapter.PreviewSendAsync(TouchSocket.Core.IRequestInfo)">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.TerminatorPackageAdapter.PreviewSendAsync(System.Byte[],System.Int32,System.Int32)">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.TerminatorPackageAdapter.PreviewSendAsync(System.Collections.Generic.IList{System.ArraySegment{System.Byte}})">
            <inheritdoc/>
        </member>
        <member name="T:TouchSocket.Core.GZipDataCompressor">
            <summary>
            GZip压缩算法的压缩机
            </summary>
        </member>
        <member name="T:TouchSocket.Core.IDataCompressor">
            <summary>
            数据压缩机接口
            </summary>
        </member>
        <member name="M:TouchSocket.Core.IDataCompressor.Compress(System.ArraySegment{System.Byte})">
            <summary>
            压缩数据
            </summary>
            <param name="data"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.IDataCompressor.Decompress(System.ArraySegment{System.Byte})">
            <summary>
            解压数据
            </summary>
            <param name="data"></param>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.Crc">
            <summary>
            Crc相关。
            <para>该代码来源于网络</para>
            </summary>
        </member>
        <member name="M:TouchSocket.Core.Crc.Crc1(System.Byte[],System.Int32,System.Int32)">
             **********************************************************************
             Name: CRC-4/ITU    x4+x+1
             Poly: 0x03
             Init: 0x00
             Refin: true
             Refout: true
             Xorout: 0x00
            *************************************************************************
        </member>
        <member name="M:TouchSocket.Core.Crc.Crc2(System.Byte[],System.Int32,System.Int32)">
             **********************************************************************
             Name: CRC-5/EPC    x5+x3+1
             Poly: 0x09
             Init: 0x09
             Refin: false
             Refout: false
             Xorout: 0x00
            *************************************************************************
        </member>
        <member name="M:TouchSocket.Core.Crc.Crc3(System.Byte[],System.Int32,System.Int32)">
             **********************************************************************
             Name: CRC-5/ITU    x5+x4+x2+1
             Poly: 0x15
             Init: 0x00
             Refin: true
             Refout: true
             Xorout: 0x00
            *************************************************************************
        </member>
        <member name="M:TouchSocket.Core.Crc.Crc4(System.Byte[],System.Int32,System.Int32)">
             **********************************************************************
             Name: CRC-5/USB    x5+x2+1
             Poly: 0x05
             Init: 0x1F
             Refin: true
             Refout: true
             Xorout: 0x1F
            *************************************************************************
        </member>
        <member name="M:TouchSocket.Core.Crc.Crc5(System.Byte[],System.Int32,System.Int32)">
             **********************************************************************
             Name: CRC-6/ITU    x6+x+1
             Poly: 0x03
             Init: 0x00
             Refin: true
             Refout: true
             Xorout: 0x00
            *************************************************************************
        </member>
        <member name="M:TouchSocket.Core.Crc.Crc6(System.Byte[],System.Int32,System.Int32)">
             **********************************************************************
             Name: CRC-7/MMC    x7+x3+1
             Poly: 0x09
             Init: 0x00
             Refin: false
             Refout: false
             Xorout: 0x00
            *************************************************************************
        </member>
        <member name="M:TouchSocket.Core.Crc.Crc7(System.Byte[],System.Int32,System.Int32)">
             **********************************************************************
             Name: CRC8    x8+x2+x+1
             Poly: 0x07
             Init: 0x00
             Refin: false
             Refout: false
             Xorout: 0x00
            *************************************************************************
        </member>
        <member name="M:TouchSocket.Core.Crc.Crc8(System.Byte[],System.Int32,System.Int32)">
             **********************************************************************
             Name: CRC-8/ITU    x8+x2+x+1
             Poly: 0x07
             Init: 0x00
             Refin: false
             Refout: false
             Xorout: 0x55
            *************************************************************************
        </member>
        <member name="M:TouchSocket.Core.Crc.Crc9(System.Byte[],System.Int32,System.Int32)">
             **********************************************************************
             Name: CRC-8/MAXIM    x8+x5+x4+1
             Poly: 0x31
             Init: 0x00
             Refin: true
             Refout: true
             Xorout: 0x00
            *************************************************************************
        </member>
        <member name="M:TouchSocket.Core.Crc.Crc10(System.Byte[],System.Int32,System.Int32)">
             **********************************************************************
             Name: CRC-8/ROHC    x8+x2+x+1
             Poly: 0x07
             Init: 0xFF
             Refin: true
             Refout: true
             Xorout: 0x00
            *************************************************************************
        </member>
        <member name="F:TouchSocket.Core.Crc.table">
            Z1协议校验码计算
        </member>
        <member name="M:TouchSocket.Core.Crc.Crc11(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Crc11
            </summary>
            <param name="buffer"></param>
            <param name="start"></param>
            <param name="len"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.Crc.Crc12(System.Byte[],System.Int32,System.Int32)">
             **********************************************************************
             Name: CRC-12    x16+x12+x5+1
             Poly: 0x80
             Init: 0x0000
             Refin: true
             Refout: true
             Xorout: 0x0000
            *************************************************************************
        </member>
        <member name="M:TouchSocket.Core.Crc.Crc13(System.Byte[],System.Int32,System.Int32)">
             **********************************************************************
             Name: CRC-16/CCITT    x16+x12+x5+1
             Poly: 0x1021
             Init: 0x0000
             Refin: true
             Refout: true
             Xorout: 0x0000
            *************************************************************************
        </member>
        <member name="M:TouchSocket.Core.Crc.Crc14(System.Byte[],System.Int32,System.Int32)">
             **********************************************************************
             Name: CRC-16/CCITT FALSE    x16+x12+x5+1
             Poly: 0x1021
             Init: 0xFFFF
             Refin: false
             Refout: false
             Xorout: 0x0000
            *************************************************************************
        </member>
        <member name="M:TouchSocket.Core.Crc.Crc15(System.Byte[],System.Int32,System.Int32)">
             **********************************************************************
             Name: CRC-16/DNP    x16+x13+x12+x11+x10+x8+x6+x5+x2+1
             Poly: 0x3D65
             Init: 0x0000
             Refin: true
             Refout: true
             Xorout: 0xFFFF
            *************************************************************************
        </member>
        <member name="M:TouchSocket.Core.Crc.Crc16(System.Byte[],System.Int32,System.Int32)">
             **********************************************************************
             Name: CRC-16/IBM    x16+x15+x2+1
             Poly: 0x8005
             Init: 0x0000
             Refin: true
             Refout: true
             Xorout: 0x0000
            *************************************************************************
        </member>
        <member name="M:TouchSocket.Core.Crc.Crc17(System.Byte[],System.Int32,System.Int32)">
             **********************************************************************
             Name: CRC-16/MAXIM    x16+x15+x2+1
             Poly: 0x8005
             Init: 0x0000
             Refin: true
             Refout: true
             Xorout: 0xFFFF
            *************************************************************************
        </member>
        <member name="M:TouchSocket.Core.Crc.Crc18(System.Byte[],System.Int32,System.Int32)">
             **********************************************************************
             Name: CRC-16/MODBUS    x16+x15+x2+1
             Poly: 0x8005
             Init: 0xFFFF
             Refin: true
             Refout: true
             Xorout: 0x0000
            *************************************************************************
        </member>
        <member name="M:TouchSocket.Core.Crc.Crc19(System.Byte[],System.Int32,System.Int32)">
             **********************************************************************
             Name: CRC-16/USB    x16+x15+x2+1
             Poly: 0x8005
             Init: 0xFFFF
             Refin: true
             Refout: true
             Xorout: 0xFFFF
            *************************************************************************
        </member>
        <member name="M:TouchSocket.Core.Crc.Crc20(System.Byte[],System.Int32,System.Int32)">
             **********************************************************************
             Name: CRC-16/X25    x16+x12+x5+1
             Poly: 0x1021
             Init: 0xFFFF
             Refin: true
             Refout: true
             Xorout: 0xFFFF
            *************************************************************************
        </member>
        <member name="M:TouchSocket.Core.Crc.Crc21(System.Byte[],System.Int32,System.Int32)">
             **********************************************************************
             Name: CRC-16/XMODEM    x16+x12+x5+1
             Poly: 0x1021
             Init: 0x0000
             Refin: false
             Refout: false
             Xorout: 0x0000
            *************************************************************************
        </member>
        <member name="M:TouchSocket.Core.Crc.Crc22(System.Byte[],System.Int32,System.Int32)">
             **********************************************************************
             Name: CRC32    x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x+1
             Poly: 0x04C11DB7
             Init: 0xFFFFFFFF
             Refin: true
             Refout: true
             Xorout: 0xFFFFFFFF
            *************************************************************************
        </member>
        <member name="M:TouchSocket.Core.Crc.Crc23(System.Byte[],System.Int32,System.Int32)">
             **********************************************************************
             Name: CRC32/MPEG-2    x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x+1
             Poly: 0x04C11DB7
             Init: 0xFFFFFFFF
             Refin: false
             Refout: false
             Xorout: 0x00000000
            *************************************************************************
        </member>
        <member name="T:TouchSocket.Core.GZip">
            <summary>
            Gzip操作类
            </summary>
        </member>
        <member name="M:TouchSocket.Core.GZip.Compress(TouchSocket.Core.ByteBlock,System.Byte[],System.Int32,System.Int32)">
            <summary>
            压缩数据
            </summary>
            <param name="byteBlock"></param>
            <param name="buffer"></param>
            <param name="offset"></param>
            <param name="length"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.GZip.Compress(TouchSocket.Core.ByteBlock,System.Byte[])">
            <summary>
            压缩数据
            </summary>
            <param name="byteBlock"></param>
            <param name="buffer"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.GZip.Compress(System.Byte[],System.Int32,System.Int32)">
            <summary>
            压缩数据
            </summary>
            <param name="buffer"></param>
            <param name="offset"></param>
            <param name="length"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.GZip.Compress(System.Byte[])">
            <summary>
            压缩数据
            </summary>
            <param name="buffer"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.GZip.Decompress(TouchSocket.Core.ByteBlock,System.Byte[],System.Int32,System.Int32)">
            <summary>
            解压数据
            </summary>
            <param name="byteBlock"></param>
            <param name="data"></param>
            <param name="offset"></param>
            <param name="length"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.GZip.Decompress(TouchSocket.Core.ByteBlock,System.Byte[])">
            <summary>
            解压数据
            </summary>
            <param name="byteBlock"></param>
            <param name="data"></param>
        </member>
        <member name="M:TouchSocket.Core.GZip.Decompress(System.Byte[],System.Int32,System.Int32)">
            <summary>
            解压数据
            </summary>
            <param name="data"></param>
            <param name="offset"></param>
            <param name="length"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.GZip.Decompress(System.Byte[])">
            <summary>
            解压数据
            </summary>
            <param name="data"></param>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.MD5">
            <summary>
            MD5相关操作类
            </summary>
        </member>
        <member name="M:TouchSocket.Core.MD5.GetMD5Hash(System.String)">
            <summary>
            从字符串获取MD5值
            </summary>
            <param name="str"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.MD5.GetMD5Hash(System.IO.Stream)">
            <summary>
            从流中获取MD5值。
            </summary>
            <param name="stream"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.MD5.GetMD5Hash(System.Byte[],System.Int32,System.Int32)">
            <summary>
            从字节获取MD5值
            </summary>
            <param name="buffer"></param>
            <param name="offset"></param>
            <param name="length"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.MD5.GetMD5Hash(System.Byte[])">
            <summary>
            从字节获取MD5值
            </summary>
            <param name="buffer"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.MD5.VerifyMD5Hash(System.String,System.String)">
            <summary>
            验证MD5值。
            </summary>
            <param name="str"></param>
            <param name="hash"></param>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.DataSecurity">
            <summary>
            数据安全加密
            </summary>
        </member>
        <member name="P:TouchSocket.Core.DataSecurity.Keys">
            <summary>
            自定义加密密钥。
            </summary>
        </member>
        <member name="M:TouchSocket.Core.DataSecurity.EncryptDES(System.Byte[],System.String)">
            <summary>
            使用3DES加密
            </summary>
            <param name="data">待加密字节</param>
            <param name="encryptKey">加密口令（长度为8）</param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.DataSecurity.DecryptDES(System.Byte[],System.String)">
            <summary>
            使用3DES解密
            </summary>
            <param name="data">待解密字节</param>
            <param name="encryptKey">解密口令（长度为8）</param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.DataSecurity.StreamEncryptDES(System.IO.Stream,System.IO.Stream,System.String)">
            <summary>
            使用3DES流数据加密。
            <para>注意：数据会从<see cref="P:System.IO.Stream.Position"/>开始</para>
            </summary>
            <param name="inStream"></param>
            <param name="outStream"></param>
            <param name="encryptKey">加密口令（长度为8）</param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.DataSecurity.StreamDecryptDES(System.IO.Stream,System.IO.Stream,System.String)">
            <summary>
            使用3DES流数据解密
            <para>注意：数据会从<see cref="P:System.IO.Stream.Position"/>开始</para>
            </summary>
            <param name="inStream"></param>
            <param name="outStream"></param>
            <param name="encryptKey">解密口令（长度为8）</param>
        </member>
        <member name="T:TouchSocket.Core.Swap">
            <summary>
            交换类。功能类似：a=1，b=2，交换后a=2，b=1。
            </summary>
        </member>
        <member name="M:TouchSocket.Core.Swap.Execute``1(``0@,``0@)">
            <summary>
            执行交换
            </summary>
            <typeparam name="T"></typeparam>
            <param name="x"></param>
            <param name="y"></param>
        </member>
        <member name="T:TouchSocket.Core.XmlTool">
            <summary>
            xml主类
            </summary>
        </member>
        <member name="M:TouchSocket.Core.XmlTool.#ctor(System.String)">
            <summary>
            构造函数
            </summary>
            <param name="path">文件路径，包含文件名</param>
        </member>
        <member name="M:TouchSocket.Core.XmlTool.AttributeStorage(System.String,System.String,System.String)">
            <summary>
            单节点，单属性储存
            </summary>
            <param name="NodeName">节点名</param>
            <param name="Attribute_name">属性名</param>
            <param name="Attribute_value">属性值</param>
        </member>
        <member name="M:TouchSocket.Core.XmlTool.AttributeStorage(System.String,System.String[],System.String[])">
            <summary>
            单节点，多属性存储
            </summary>
            <param name="NodeName">节点名</param>
            <param name="Attribute_name">属性集合</param>
            <param name="Attribute_value">属性值集合</param>
        </member>
        <member name="M:TouchSocket.Core.XmlTool.AttributeStorage(System.String[],System.String[],System.String[])">
            <summary>
            单节点，单属性多集合存储
            </summary>
            <param name="NodeName">节点集合</param>
            <param name="Attribute_name">属性名集合</param>
            <param name="Attribute_value">属性值集合</param>
        </member>
        <member name="M:TouchSocket.Core.XmlTool.AttributeStorage(System.String[],System.String[],System.Int32,System.String[][])">
            <summary>
            多节点，多属性，多集合存储
            </summary>
            <param name="NodeName">节点集合</param>
            <param name="Attribute_name">属性集合</param>
            <param name="AttributeNumber">每个节点的属性数量</param>
            <param name="Attribute_value">属性值集合</param>
        </member>
        <member name="M:TouchSocket.Core.XmlTool.NodeStorage(System.String,System.String)">
            <summary>
            节点值存储
            </summary>
            <param name="NodeName">节点名</param>
            <param name="Text">文本</param>
        </member>
        <member name="M:TouchSocket.Core.XmlTool.SearchNode(System.String)">
            <summary>
            通过节点取值
            </summary>
            <param name="NodeName">节点名</param>
            <returns>取值失败返回null</returns>
        </member>
        <member name="M:TouchSocket.Core.XmlTool.SearchNumber(System.String,System.String)">
            <summary>
            查找数字
            </summary>
            <param name="NodeName">节点名</param>
            <param name="Attribute_name">属性名</param>
            <returns>取值失败返回0</returns>
        </member>
        <member name="M:TouchSocket.Core.XmlTool.SearchWords(System.String,System.String)">
            <summary>
            查找属性值
            </summary>
            <param name="NodeName">节点名</param>
            <param name="Attribute_name">属性名</param>
            <returns>取值失败返回null</returns>
        </member>
        <member name="M:TouchSocket.Core.XmlTool.SearchBoolean(System.String,System.String)">
            <summary>
            查找布尔值
            </summary>
            <param name="NodeName">节点名</param>
            <param name="Attribute_name">属性值</param>
            <returns>返回查找结果，查询失败返回false</returns>
        </member>
        <member name="M:TouchSocket.Core.XmlTool.SearchWords(System.String[],System.String[])">
            <summary>
            查找属性值集合
            </summary>
            <param name="NodeName">节点名集合</param>
            <param name="Attribute_name">属性名集合</param>
            <returns>文件不在返回null，单个属性不在返回“空”</returns>
        </member>
        <member name="M:TouchSocket.Core.XmlTool.SearchWords(System.String,System.String,System.String)">
            <summary>
            通过确切属性值，属性名，查找其他属性值
            </summary>
            <param name="Attribute_name1">已知属性名</param>
            <param name="Attribute_value">已知属性值</param>
            <param name="Attribute_name2">待查属性名</param>
            <returns>待查属性值</returns>
        </member>
        <member name="M:TouchSocket.Core.XmlTool.SearchAllAttributes(System.String)">
            <summary>
            查找节点的所有属性值
            </summary>
            <param name="NodeName">节点 名</param>
            <returns>返回查找键值对，查询失败返回null</returns>
        </member>
        <member name="M:TouchSocket.Core.XmlTool.SearchBoolean(System.String,System.String,System.String)">
            <summary>
            通过确切属性值，属性名，查找其他属性的布尔值
            </summary>
            <param name="Attribute_name1">已知属性名</param>
            <param name="Attribute_value">已知属性值</param>
            <param name="Attribute_name2">待查属性名</param>
            <returns>待查布尔值，失败返回false</returns>
        </member>
        <member name="M:TouchSocket.Core.XmlTool.RemoveNode(System.String)">
            <summary>
            按节点名移除节点
            </summary>
            <param name="NodeName">节点名</param>
            <returns>是否移除成功</returns>
        </member>
        <member name="M:TouchSocket.Core.XmlTool.RemoveNode(System.String,System.String)">
            <summary>
            按确切的属性名，属性值删除节点
            </summary>
            <param name="Attribute_name">属性名</param>
            <param name="Attribute_value">属性值</param>
            <returns>是否移除成功</returns>
        </member>
        <member name="M:TouchSocket.Core.XmlTool.RemoveNode(System.String,System.DateTime)">
            <summary>
            如果节点中有日期属性，把日期之前的节点都删除
            </summary>
            <param name="Attribute_name">属性名</param>
            <param name="dateTime">截止时间</param>
            <returns>是否删除成功</returns>
        </member>
        <member name="M:TouchSocket.Core.XmlTool.NodeExist(System.String)">
            <summary>
            判断节点是否存在
            </summary>
            <param name="NodeName">节点名</param>
            <returns>返回结果</returns>
        </member>
        <member name="M:TouchSocket.Core.XmlTool.RemoveAllNode">
            <summary>
            删除所有节点，不包含子节点
            </summary>
            <returns>返回删除是否成功</returns>
        </member>
        <member name="T:TouchSocket.Core.DataValidationAttribute">
            <summary>
            依赖属性数据验证
            </summary>
        </member>
        <member name="T:TouchSocket.Core.DependencyDescriptor">
            <summary>
            注入依赖对象
            </summary>
        </member>
        <member name="M:TouchSocket.Core.DependencyDescriptor.#ctor(System.Type,System.Object)">
            <summary>
            初始化一个单例实例。
            </summary>
            <param name="fromType"></param>
            <param name="instance"></param>
        </member>
        <member name="M:TouchSocket.Core.DependencyDescriptor.#ctor(System.Type,System.Type,TouchSocket.Core.Lifetime)">
            <summary>
            初始化一个完整的服务注册
            </summary>
            <param name="fromType"></param>
            <param name="toType"></param>
            <param name="lifetime"></param>
        </member>
        <member name="M:TouchSocket.Core.DependencyDescriptor.#ctor(System.Type)">
            <summary>
            初始化一个简单的的服务描述
            </summary>
            <param name="fromType"></param>
        </member>
        <member name="P:TouchSocket.Core.DependencyDescriptor.FromType">
            <summary>
            注册类型
            </summary>
        </member>
        <member name="P:TouchSocket.Core.DependencyDescriptor.ImplementationFactory">
            <summary>
            实例化工厂委托
            </summary>
        </member>
        <member name="P:TouchSocket.Core.DependencyDescriptor.Lifetime">
            <summary>
            生命周期
            </summary>
        </member>
        <member name="P:TouchSocket.Core.DependencyDescriptor.OnResolved">
            <summary>
            在获取到注册时触发委托。
            <para>
            在单例实例注册时，不会触发。在单例注册时，只会触发一次，在瞬态注册时，会每次都触发。
            </para>
            </summary>
        </member>
        <member name="P:TouchSocket.Core.DependencyDescriptor.ToInstance">
            <summary>
            实例
            </summary>
        </member>
        <member name="P:TouchSocket.Core.DependencyDescriptor.ToType">
            <summary>
            实例类型
            </summary>
        </member>
        <member name="T:TouchSocket.Core.DependencyObject">
            <summary>
            依赖项对象.
            非线程安全。
            </summary>
        </member>
        <member name="M:TouchSocket.Core.DependencyObject.GetValue``1(TouchSocket.Core.IDependencyProperty{``0})">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.DependencyObject.HasValue``1(TouchSocket.Core.IDependencyProperty{``0})">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.DependencyObject.RemoveValue``1(TouchSocket.Core.IDependencyProperty{``0})">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.DependencyObject.SetValue``1(TouchSocket.Core.IDependencyProperty{``0},``0)">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.DependencyObject.TryGetValue``1(TouchSocket.Core.IDependencyProperty{``0},``0@)">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.DependencyObject.TryRemoveValue``1(TouchSocket.Core.IDependencyProperty{``0},``0@)">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.DependencyObject.Dispose(System.Boolean)">
            <summary>
            <inheritdoc/>
            </summary>
            <param name="disposing"></param>
        </member>
        <member name="M:TouchSocket.Core.DependencyObject.CloneTo(TouchSocket.Core.DependencyObject,System.Boolean)">
            <summary>
            将当前对象的依赖项克隆到目标对象中
            </summary>
            <param name="dependencyObject">目标对象</param>
            <param name="overwrite">当目标对象中存在相同依赖项时，是或否覆盖</param>
            <exception cref="T:System.ArgumentNullException"></exception>
            <exception cref="T:System.ObjectDisposedException"></exception>
        </member>
        <member name="T:TouchSocket.Core.DependencyProperty`1">
            <summary>
            依赖项属性
            </summary>
        </member>
        <member name="M:TouchSocket.Core.DependencyProperty`1.#ctor(System.String,`0)">
            <summary>
            依赖项属性
            </summary>
            <param name="propertyName"></param>
            <param name="value">依赖项属性值，一般该值应该是值类型，因为它可能会被用于多个依赖对象。</param>
        </member>
        <member name="F:TouchSocket.Core.DependencyProperty`1.m_name">
            <summary>
            属性名称
            </summary>
        </member>
        <member name="P:TouchSocket.Core.DependencyProperty`1.DefauleValue">
            <summary>
            <inheritdoc/>
            </summary>
        </member>
        <member name="P:TouchSocket.Core.DependencyProperty`1.Name">
             <summary>
            <inheritdoc/>
             </summary>
        </member>
        <member name="M:TouchSocket.Core.DependencyProperty`1.op_Inequality(TouchSocket.Core.DependencyProperty{`0},TouchSocket.Core.DependencyProperty{`0})">
            <summary>
            判断否
            </summary>
            <param name="left"></param>
            <param name="right"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.DependencyProperty`1.op_Equality(TouchSocket.Core.DependencyProperty{`0},TouchSocket.Core.DependencyProperty{`0})">
            <summary>
            判断是
            </summary>
            <param name="left"></param>
            <param name="right"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.DependencyProperty`1.Register(System.String,`0)">
            <summary>
            注册依赖项属性。
            <para>依赖属性的默认值，可能会应用于所有的<see cref="T:TouchSocket.Core.IDependencyObject"/></para>
            </summary>
            <param name="propertyName"></param>
            <param name="value">依赖项属性值，一般该值应该是值类型，因为它可能会被用于多个依赖对象。</param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.DependencyProperty`1.Equals(TouchSocket.Core.DependencyProperty{`0})">
            <summary>
            <inheritdoc/>
            </summary>
            <param name="other"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.DependencyProperty`1.Equals(System.Object)">
            <summary>
            <inheritdoc/>
            </summary>
            <param name="obj"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.DependencyProperty`1.GetHashCode">
            <summary>
            <inheritdoc/>
            </summary>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.DependencyPropertyBase">
            <summary>
            DependencyPropertyBase
            </summary>
        </member>
        <member name="M:TouchSocket.Core.DependencyPropertyBase.#ctor">
            <summary>
            依赖项属性
            </summary>
        </member>
        <member name="P:TouchSocket.Core.DependencyPropertyBase.Id">
            <summary>
            <inheritdoc/>
            </summary>
        </member>
        <member name="T:TouchSocket.Core.IDependencyObject">
            <summary>
            依赖对象接口
            </summary>
        </member>
        <member name="M:TouchSocket.Core.IDependencyObject.GetValue``1(TouchSocket.Core.IDependencyProperty{``0})">
            <summary>
            获取依赖注入的值，当没有注入时，会返回默认值。
            </summary>
            <typeparam name="TValue"></typeparam>
            <param name="dp"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.IDependencyObject.HasValue``1(TouchSocket.Core.IDependencyProperty{``0})">
            <summary>
            是否有值。
            </summary>
            <param name="dp"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.IDependencyObject.RemoveValue``1(TouchSocket.Core.IDependencyProperty{``0})">
            <summary>
            重置属性值。
            </summary>
            <typeparam name="TValue"></typeparam>
            <param name="dp"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.IDependencyObject.SetValue``1(TouchSocket.Core.IDependencyProperty{``0},``0)">
            <summary>
            设置依赖注入的值
            </summary>
            <param name="dp"></param>
            <param name="value"></param>
        </member>
        <member name="M:TouchSocket.Core.IDependencyObject.TryGetValue``1(TouchSocket.Core.IDependencyProperty{``0},``0@)">
            <summary>
            尝试获取依赖注入的值，当没有注入时，会返回<see langword="false"/>。
            </summary>
            <typeparam name="TValue"></typeparam>
            <param name="dp"></param>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.IDependencyObject.TryRemoveValue``1(TouchSocket.Core.IDependencyProperty{``0},``0@)">
            <summary>
            重置属性值。
            </summary>
            <typeparam name="TValue"></typeparam>
            <param name="dp"></param>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.IDependencyProperty`1">
            <summary>
            IDependencyProperty
            </summary>
            <typeparam name="TValue"></typeparam>
        </member>
        <member name="P:TouchSocket.Core.IDependencyProperty`1.DefauleValue">
            <summary>
            默认值
            </summary>
        </member>
        <member name="P:TouchSocket.Core.IDependencyProperty`1.Id">
            <summary>
            标识属性的唯一
            </summary>
        </member>
        <member name="P:TouchSocket.Core.IDependencyProperty`1.Name">
            <summary>
            属性名称
            </summary>
        </member>
        <member name="T:TouchSocket.Core.TimeMeasurer">
            <summary>
            时间测量器
            </summary>
        </member>
        <member name="M:TouchSocket.Core.TimeMeasurer.Run(System.Action)">
            <summary>
            开始运行
            </summary>
            <param name="action"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.TimeMeasurer.RunAsync(System.Func{System.Threading.Tasks.Task})">
            <summary>
            开始运行
            </summary>
            <param name="func"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.TimeMeasurer.RunAsync(System.Action)">
            <summary>
            异步执行
            </summary>
            <param name="action"></param>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.PluginEventHandler`2">
            <summary>
            插件泛型基础事件委托
            </summary>
            <typeparam name="TClient"></typeparam>
            <typeparam name="TEventArgs"></typeparam>
            <param name="client"></param>
            <param name="e"></param>
        </member>
        <member name="T:TouchSocket.Core.TouchSocketEventHandler`2">
            <summary>
            TouchSocket基础泛型事件委托
            </summary>
            <typeparam name="TClient"></typeparam>
            <typeparam name="TEventArgs"></typeparam>
            <param name="client"></param>
            <param name="e"></param>
        </member>
        <member name="T:TouchSocket.Core.MsgEventArgs">
            <summary>
            MsgEventArgs
            </summary>
        </member>
        <member name="M:TouchSocket.Core.MsgEventArgs.#ctor(System.String)">
            <summary>
             构造函数
            </summary>
            <param name="mes"></param>
        </member>
        <member name="M:TouchSocket.Core.MsgEventArgs.#ctor">
            <summary>
            构造函数
            </summary>
        </member>
        <member name="P:TouchSocket.Core.MsgEventArgs.Message">
            <summary>
            消息
            </summary>
        </member>
        <member name="T:TouchSocket.Core.MsgPermitEventArgs">
            <summary>
            消息事件
            </summary>
        </member>
        <member name="M:TouchSocket.Core.MsgPermitEventArgs.#ctor(System.String)">
            <summary>
             构造函数
            </summary>
            <param name="mes"></param>
        </member>
        <member name="M:TouchSocket.Core.MsgPermitEventArgs.#ctor">
            <summary>
            构造函数
            </summary>
        </member>
        <member name="P:TouchSocket.Core.MsgPermitEventArgs.Message">
            <summary>
            消息
            </summary>
        </member>
        <member name="T:TouchSocket.Core.PermitEventArgs">
            <summary>
            具有操作许可的事件参数类
            </summary>
        </member>
        <member name="P:TouchSocket.Core.PermitEventArgs.IsPermitOperation">
            <summary>
            是否允许操作
            </summary>
        </member>
        <member name="T:TouchSocket.Core.TouchSocketEventArgs">
            <summary>
            TouchSocketEventArgs
            </summary>
        </member>
        <member name="P:TouchSocket.Core.TouchSocketEventArgs.Handled">
            <summary>
            是否已处理
            </summary>
        </member>
        <member name="T:TouchSocket.Core.MessageNotFoundException">
            <summary>
            未找到消息异常类
            </summary>
        </member>
        <member name="M:TouchSocket.Core.MessageNotFoundException.#ctor(System.String)">
             <summary>
            构造函数
             </summary>
             <param name="mes"></param>
        </member>
        <member name="T:TouchSocket.Core.MessageRegisteredException">
            <summary>
            消息已注册
            </summary>
        </member>
        <member name="M:TouchSocket.Core.MessageRegisteredException.#ctor(System.String)">
             <summary>
            构造函数
             </summary>
             <param name="mes"></param>
        </member>
        <member name="T:TouchSocket.Core.OverlengthException">
            <summary>
            超长异常
            </summary>
        </member>
        <member name="M:TouchSocket.Core.OverlengthException.#ctor">
            <summary>
            构造函数
            </summary>
        </member>
        <member name="M:TouchSocket.Core.OverlengthException.#ctor(System.String)">
            <summary>
            构造函数
            </summary>
            <param name="message"></param>
        </member>
        <member name="M:TouchSocket.Core.OverlengthException.#ctor(System.String,System.Exception)">
            <summary>
            构造函数
            </summary>
            <param name="message"></param>
            <param name="inner"></param>
        </member>
        <member name="M:TouchSocket.Core.OverlengthException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            构造函数
            </summary>
            <param name="info"></param>
            <param name="context"></param>
        </member>
        <member name="T:TouchSocket.Core.BytesExtension">
            <summary>
            BytesExtension
            </summary>
        </member>
        <member name="M:TouchSocket.Core.BytesExtension.ToBase64(System.Byte[])">
            <summary>
            转Base64。
            </summary>
            <param name="data"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.BytesExtension.IndexOfInclude(System.Byte[],System.Int32,System.Int32,System.Byte[])">
            <summary>
            索引包含数组。
            <para>
            例如：在{0,1,2,3,1,2,3}中搜索{1,2}，则会返回list:[2,5]，均为最后索引的位置。
            </para>
            </summary>
            <param name="srcByteArray"></param>
            <param name="offset"></param>
            <param name="length"></param>
            <param name="subByteArray"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.BytesExtension.IndexOfFirst(System.Byte[],System.Int32,System.Int32,System.Byte[])">
            <summary>
            索引第一个包含数组的索引位置，例如：在{0,1,2,3,1,2,3}中索引{2,3}，则返回3。
            <para>如果目标数组为null或长度为0，则直接返回offset的值</para>
            </summary>
            <param name="srcByteArray"></param>
            <param name="offset"></param>
            <param name="length"></param>
            <param name="subByteArray"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.BytesExtension.ByBytesToHexString(System.Byte[],System.Int32,System.Int32,System.String)">
            <summary>
            字节数组转16进制字符
            </summary>
            <param name="buffer"></param>
            <param name="offset"></param>
            <param name="length"></param>
            <param name="splite"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.BytesExtension.ByBytesToHexString(System.Byte[],System.String)">
            <summary>
            字节数组转16进制字符
            </summary>
            <param name="buffer"></param>
            <param name="splite"></param>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.DateTimeExtensions">
            <summary>
            DateExtensions
            </summary>
        </member>
        <member name="M:TouchSocket.Core.DateTimeExtensions.ConvertTime(System.DateTime@)">
            <summary>
            将时间转为毫秒级别的短整形
            </summary>
            <param name="time"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.DateTimeExtensions.ConvertTime(System.DateTimeOffset@)">
            <summary>
            将时间转为毫秒级别的短整形
            </summary>
            <param name="time"></param>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.DictionaryExtension">
            <summary>
            DictionaryExtension
            </summary>
        </member>
        <member name="M:TouchSocket.Core.DictionaryExtension.RemoveWhen``2(System.Collections.Concurrent.ConcurrentDictionary{``0,``1},System.Func{System.Collections.Generic.KeyValuePair{``0,``1},System.Boolean})">
            <summary>
            移除满足条件的项目。
            </summary>
            <typeparam name="TKey"></typeparam>
            <typeparam name="TValue"></typeparam>
            <param name="pairs"></param>
            <param name="func"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.DictionaryExtension.TryAdd``2(System.Collections.Generic.Dictionary{``0,``1},``0,``1)">
            <summary>
            尝试添加
            </summary>
            <typeparam name="Tkey"></typeparam>
            <typeparam name="TValue"></typeparam>
            <param name="dictionary"></param>
            <param name="tkey"></param>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.DictionaryExtension.AddOrUpdate``2(System.Collections.Generic.Dictionary{``0,``1},``0,``1)">
            <summary>
            尝试添加
            </summary>
            <typeparam name="Tkey"></typeparam>
            <typeparam name="TValue"></typeparam>
            <param name="dictionary"></param>
            <param name="tkey"></param>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.DictionaryExtension.GetValue``2(System.Collections.Generic.Dictionary{``0,``1},``0)">
            <summary>
            获取值。如果键不存在，则返回默认值。
            </summary>
            <typeparam name="Tkey"></typeparam>
            <typeparam name="TValue"></typeparam>
            <param name="dictionary"></param>
            <param name="tkey"></param>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.StringExtension">
            <summary>
            StringExtension
            </summary>
        </member>
        <member name="M:TouchSocket.Core.StringExtension.IsNullOrEmpty(System.String)">
            <summary>
            IsNullOrEmpty
            </summary>
            <param name="str"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.StringExtension.IsNullOrWhiteSpace(System.String)">
            <summary>
            IsNullOrWhiteSpace
            </summary>
            <param name="str"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.StringExtension.HasValue(System.String)">
            <summary>
            当不为null，且不为空。
            </summary>
            <param name="str"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.StringExtension.TryParseToType(System.String,System.Type,System.Object@)">
            <summary>
             将字符串格式化成指定的基本数据类型
            </summary>
            <param name="value"></param>
            <param name="destinationType"></param>
             <param name="returnValue"></param>
               <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.StringExtension.HitStringCount(System.String,System.String)">
            <summary>
            判断字符串compare 在 input字符串中出现的次数
            </summary>
            <param name="input">源字符串</param>
            <param name="compare">用于比较的字符串</param>
            <returns>字符串compare 在 input字符串中出现的次数</returns>
        </member>
        <member name="M:TouchSocket.Core.StringExtension.ParseToType(System.String,System.Type)">
            <summary>
            将字符转换为对应的基础类型类型。
            </summary>
            <param name="value"></param>
            <param name="destinationType">目标类型必须为基础类型</param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.StringExtension.SplitFirst(System.String,System.Char)">
            <summary>
            只按第一个匹配项分割
            </summary>
            <param name="str"></param>
            <param name="split"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.StringExtension.Split(System.String,System.String)">
            <summary>
            按字符串分割
            </summary>
            <param name="str"></param>
            <param name="pattern"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.StringExtension.SplitLast(System.String,System.Char)">
            <summary>
            只按最后一个匹配项分割
            </summary>
            <param name="str"></param>
            <param name="split"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.StringExtension.Format(System.String,System.Object[])">
            <summary>
            按格式填充
            </summary>
            <param name="str"></param>
            <param name="ps"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.StringExtension.ToSha1(System.String,System.Text.Encoding)">
            <summary>
            转换为SHA1。
            </summary>
            <param name="value"></param>
            <param name="encoding"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.StringExtension.ToUTF8Bytes(System.String)">
            <summary>
            转换为UTF-8数据，效果等于<see cref="P:System.Text.Encoding.UTF8"/>
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.StringExtension.ByHexStringToBytes(System.String,System.String)">
            <summary>
            将16进制的字符转换为数组。
            </summary>
            <param name="hexString"></param>
            <param name="splite"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.StringExtension.ByHexStringToInt32(System.String)">
            <summary>
            将16进制的字符转换为int32。
            </summary>
            <param name="hexString"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.StringExtension.ByBase64ToBytes(System.String)">
            <summary>
            从Base64转到数组。
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.SystemExtensions">
            <summary>
            为System提供扩展。
            </summary>
        </member>
        <member name="M:TouchSocket.Core.SystemExtensions.SafeDispose(System.IDisposable)">
            <summary>
            安全性释放（不用判断对象是否为空）。不会抛出任何异常。
            </summary>
            <param name="dis"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.SystemExtensions.SafeDispose(TouchSocket.Core.IDisposableObject)">
            <summary>
            安全性释放（不用判断对象是否为空）。不会抛出任何异常。
            <para>
            内部会判断<see cref="P:TouchSocket.Core.IDisposableObject.DisposedValue"/>的值，如果为<see langword="true"/>，则不会再执行<see cref="M:System.IDisposable.Dispose"/>。
            </para>
            </summary>
            <param name="disposableObject"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.SystemExtensions.GetAttribute``1(System.Enum)">
            <summary>
            获取自定义attribute
            </summary>
            <typeparam name="T"></typeparam>
            <param name="enumObj"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.SystemExtensions.ToGMTString(System.DateTime)">
            <summary>
            格林尼治标准时间
            </summary>
            <param name="dt"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.SystemExtensions.Clear``1(System.Collections.Concurrent.ConcurrentQueue{``0})">
            <summary>
            清除所有成员
            </summary>
            <typeparam name="T"></typeparam>
            <param name="queue"></param>
        </member>
        <member name="M:TouchSocket.Core.SystemExtensions.Clear``1(System.Collections.Concurrent.ConcurrentQueue{``0},System.Action{``0})">
            <summary>
            清除所有成员
            </summary>
            <typeparam name="T"></typeparam>
            <param name="queue"></param>
            <param name="action"></param>
        </member>
        <member name="M:TouchSocket.Core.SystemExtensions.GetBit(System.Byte,System.Int32)">
            <summary>
            获取字节中的指定Bit的值
            </summary>
            <param name="this">字节</param>
            <param name="index">Bit的索引值(0-7)</param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.SystemExtensions.SetBit(System.Byte,System.Int32,System.Int32)">
            <summary>
            设置字节中的指定Bit的值
            </summary>
            <param name="this">字节</param>
            <param name="index">Bit的索引值(0-7)</param>
            <param name="bitvalue">Bit值(0,1)</param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.SystemExtensions.GetTupleElementNames(System.Reflection.ParameterInfo)">
            <summary>
            获取元组的名称列表。
            </summary>
            <param name="parameter"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.SystemExtensions.GetTupleElementNames(System.Reflection.MemberInfo)">
            <summary>
            获取元组的名称列表。
            </summary>
            <param name="memberInfo"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.SystemExtensions.GetDeterminantName(System.Reflection.MethodInfo)">
            <summary>
            获取方法的确定性名称，即使在重载时，也能区分。
            <para>计算规则是：命名空间.类名.方法名(参数：全名)</para>
            </summary>
            <param name="methodInfo"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.SystemExtensions.GetName(System.Reflection.MethodInfo)">
            <summary>
            获取方法的方法名。主要解决显式实现时函数名称的问题。
            </summary>
            <param name="methodInfo"></param>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.SystemNetExtension">
            <summary>
            其他扩展
            </summary>
        </member>
        <member name="M:TouchSocket.Core.SystemNetExtension.GetIP(System.Net.EndPoint)">
            <summary>
            从<see cref="T:System.Net.EndPoint"/>中获得IP地址。
            </summary>
            <param name="endPoint"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.SystemNetExtension.GetPort(System.Net.EndPoint)">
            <summary>
            从<see cref="T:System.Net.EndPoint"/>中获得Port。
            </summary>
            <param name="endPoint"></param>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.SystemThreadingExtension">
            <summary>
            SystemThreadingExtension
            </summary>
        </member>
        <member name="M:TouchSocket.Core.SystemThreadingExtension.CreateReadLock(System.Threading.ReaderWriterLockSlim)">
            <summary>
            创建一个可释放的读取锁
            </summary>
            <param name="lockSlim"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.SystemThreadingExtension.CreateWriteLock(System.Threading.ReaderWriterLockSlim)">
            <summary>
            创建一个可释放的写入锁
            </summary>
            <param name="lockSlim"></param>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.TaskExtension">
            <summary>
            TaskExtension
            </summary>
        </member>
        <member name="M:TouchSocket.Core.TaskExtension.GetFalseAwaitResult``1(System.Threading.Tasks.Task{``0})">
            <summary>
            同步获取配置ConfigureAwait为false时的结果。
            </summary>
            <typeparam name="T"></typeparam>
            <param name="task"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.TaskExtension.GetFalseAwaitResult(System.Threading.Tasks.Task)">
            <summary>
            同步配置ConfigureAwait为false时的执行。
            </summary>
            <param name="task"></param>
        </member>
        <member name="M:TouchSocket.Core.TaskExtension.ConfigureFalseAwait``1(System.Threading.Tasks.Task{``0})">
            <summary>
            配置ConfigureAwait为false。
            </summary>
            <typeparam name="T"></typeparam>
            <param name="task"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.TaskExtension.ConfigureFalseAwait(System.Threading.Tasks.Task)">
            <summary>
            配置ConfigureAwait为false。
            </summary>
            <param name="task"></param>
        </member>
        <member name="M:TouchSocket.Core.TaskExtension.WaitAsync``1(System.Threading.Tasks.Task{``0},System.TimeSpan)">
            <summary>
            异步等待指定最大时间
            </summary>
            <typeparam name="TResult"></typeparam>
            <param name="task"></param>
            <param name="millisecondsTimeout"></param>
            <returns></returns>
            <exception cref="T:System.TimeoutException"></exception>
        </member>
        <member name="M:TouchSocket.Core.TaskExtension.WaitAsync(System.Threading.Tasks.Task,System.TimeSpan)">
            <summary>
            异步等待指定最大时间
            </summary>
            <param name="task"></param>
            <param name="millisecondsTimeout"></param>
            <returns></returns>
            <exception cref="T:System.TimeoutException"></exception>
        </member>
        <member name="T:TouchSocket.Core.TypeExtension">
            <summary>
            TypeExtension
            </summary>
        </member>
        <member name="M:TouchSocket.Core.TypeExtension.GetDefault(System.Type)">
            <summary>
            获取默认值
            </summary>
            <param name="targetType"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.TypeExtension.GetRefOutType(System.Type)">
            <summary>
            获取类型
            </summary>
            <param name="type"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.TypeExtension.IsAnonymous(System.Type)">
            <summary>
            检查类型是否是匿名类型
            </summary>
            <param name="type"><see cref="T:System.Type"/></param>
            <returns><see cref="T:System.Boolean"/></returns>
        </member>
        <member name="M:TouchSocket.Core.TypeExtension.IsDecimal(System.Type)">
            <summary>
            检查类型是否是小数类型
            </summary>
            <param name="type"><see cref="T:System.Type"/></param>
            <returns><see cref="T:System.Boolean"/></returns>
        </member>
        <member name="M:TouchSocket.Core.TypeExtension.IsDictionary(System.Type)">
            <summary>
            检查类型是否是字典类型
            </summary>
            <param name="type"><see cref="T:System.Type"/></param>
            <returns><see cref="T:System.Boolean"/></returns>
        </member>
        <member name="M:TouchSocket.Core.TypeExtension.IsInstantiable(System.Type)">
            <summary>
            检查类型是否可实例化
            </summary>
            <param name="type"><see cref="T:System.Type"/></param>
            <returns><see cref="T:System.Boolean"/></returns>
        </member>
        <member name="M:TouchSocket.Core.TypeExtension.IsInteger(System.Type)">
            <summary>
            检查类型是否是整数类型
            </summary>
            <param name="type"><see cref="T:System.Type"/></param>
            <returns><see cref="T:System.Boolean"/></returns>
        </member>
        <member name="M:TouchSocket.Core.TypeExtension.IsList(System.Type)">
            <summary>
            是否是<see cref="T:System.Collections.Generic.List`1"/>类型。
            </summary>
            <param name="type"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.TypeExtension.IsNullableType(System.Type)">
            <summary>
            判断该类型是否为可空类型
            </summary>
            <param name="theType"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.TypeExtension.IsNullableType(System.Reflection.PropertyInfo)">
            <summary>
            判断该类型是否为可空类型
            </summary>
            <param name="propertyInfo"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.TypeExtension.IsNullableType(System.Reflection.FieldInfo)">
            <summary>
            判断该类型是否为可空类型
            </summary>
            <param name="fieldInfo"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.TypeExtension.IsNumeric(System.Type)">
            <summary>
            检查类型是否是数值类型
            </summary>
            <param name="type"><see cref="T:System.Type"/></param>
            <returns><see cref="T:System.Boolean"/></returns>
        </member>
        <member name="M:TouchSocket.Core.TypeExtension.IsStatic(System.Type)">
            <summary>
            判断是否为静态类。
            </summary>
            <param name="targetType"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.TypeExtension.IsStruct(System.Type)">
            <summary>
            判断为结构体
            </summary>
            <param name="targetType"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.TypeExtension.IsValueTuple(System.Type)">
            <summary>
            判断该类型是否为值元组类型
            </summary>
            <param name="theType"></param>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.Counter">
            <summary>
            计数器
            </summary>
        </member>
        <member name="F:TouchSocket.Core.Counter.m_count">
            <summary>
            周期内的累计计数值。
            </summary>
        </member>
        <member name="F:TouchSocket.Core.Counter.m_lastIncrement">
            <summary>
            最后一次递增时间
            </summary>
        </member>
        <member name="P:TouchSocket.Core.Counter.Count">
            <summary>
            周期内的累计计数值。
            </summary>
        </member>
        <member name="P:TouchSocket.Core.Counter.LastIncrement">
            <summary>
            最后一次递增时间
            </summary>
        </member>
        <member name="P:TouchSocket.Core.Counter.OnPeriod">
            <summary>
            当达到一个周期时触发。
            </summary>
        </member>
        <member name="P:TouchSocket.Core.Counter.Period">
            <summary>
            计数周期。默认1秒。
            </summary>
        </member>
        <member name="M:TouchSocket.Core.Counter.Increment(System.Int64)">
            <summary>
            累计增加计数
            </summary>
            <param name="value"></param>
            <returns>返回值表示当前递增的是否在一个周期内。</returns>
        </member>
        <member name="M:TouchSocket.Core.Counter.Increment">
            <summary>
            累计增加一个计数
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.Counter.Reset">
            <summary>
            重置<see cref="P:TouchSocket.Core.Counter.Count"/>和<see cref="P:TouchSocket.Core.Counter.LastIncrement"/>
            </summary>
        </member>
        <member name="T:TouchSocket.Core.FlowGate">
            <summary>
            流量控制器。
            </summary>
        </member>
        <member name="P:TouchSocket.Core.FlowGate.Maximum">
            <summary>
            最大值
            </summary>
        </member>
        <member name="P:TouchSocket.Core.FlowGate.MaximumWaitTime">
            <summary>
            最长休眠周期。默认为5s.
            <para>当设置为5s时，假如设置的<see cref="P:TouchSocket.Core.FlowGate.Maximum"/>=10，而一次递增了100，则理应会休眠10s，但是会休眠5s。反之，如果设置1，则每秒周期都会清空。</para>
            </summary>
        </member>
        <member name="M:TouchSocket.Core.FlowGate.AddCheckWait(System.Int64)">
            <summary>
            检测等待
            </summary>
        </member>
        <member name="M:TouchSocket.Core.FlowGate.AddCheckWaitAsync(System.Int64)">
            <summary>
            检测等待
            </summary>
            <param name="increment"></param>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.ValueCounter">
            <summary>
            值类型计数器。
            </summary>
        </member>
        <member name="F:TouchSocket.Core.ValueCounter.m_count">
            <summary>
            周期内的累计计数值。
            </summary>
        </member>
        <member name="F:TouchSocket.Core.ValueCounter.m_lastIncrement">
            <summary>
            最后一次递增时间
            </summary>
        </member>
        <member name="P:TouchSocket.Core.ValueCounter.Count">
            <summary>
            周期内的累计计数值。
            </summary>
        </member>
        <member name="P:TouchSocket.Core.ValueCounter.LastIncrement">
            <summary>
            最后一次递增时间
            </summary>
        </member>
        <member name="P:TouchSocket.Core.ValueCounter.OnPeriod">
            <summary>
            当达到一个周期时触发。
            </summary>
        </member>
        <member name="P:TouchSocket.Core.ValueCounter.Period">
            <summary>
            计数周期。
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ValueCounter.Increment(System.Int64)">
            <summary>
            累计增加计数
            </summary>
            <param name="value"></param>
            <returns>返回值表示当前递增的是否在一个周期内。</returns>
        </member>
        <member name="M:TouchSocket.Core.ValueCounter.Increment">
            <summary>
            累计增加一个计数
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ValueCounter.Reset">
            <summary>
            重置<see cref="P:TouchSocket.Core.ValueCounter.Count"/>和<see cref="P:TouchSocket.Core.ValueCounter.LastIncrement"/>
            </summary>
        </member>
        <member name="T:TouchSocket.Core.BlockReader">
            <summary>
            阻塞式读取。
            </summary>
        </member>
        <member name="M:TouchSocket.Core.BlockReader.#ctor">
            <summary>
            构造函数
            </summary>
        </member>
        <member name="M:TouchSocket.Core.BlockReader.Finalize">
            <summary>
            析构函数
            </summary>
        </member>
        <member name="P:TouchSocket.Core.BlockReader.CanRead">
            <summary>
            可读
            </summary>
        </member>
        <member name="P:TouchSocket.Core.BlockReader.ReadTimeout">
            <summary>
            <inheritdoc/>
            </summary>
        </member>
        <member name="M:TouchSocket.Core.BlockReader.PeekRead(System.Byte[],System.Int32,System.Int32)">
            <summary>
            阻塞读取，但不会移动游标。
            </summary>
            <param name="buffer"></param>
            <param name="offset"></param>
            <param name="count"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.BlockReader.Read(System.Byte[],System.Int32,System.Int32)">
            <summary>
            阻塞读取。
            </summary>
            <param name="buffer"></param>
            <param name="offset"></param>
            <param name="count"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.BlockReader.Dispose(System.Boolean)">
            <summary>
            <inheritdoc/>
            </summary>
            <param name="disposing"></param>
        </member>
        <member name="M:TouchSocket.Core.BlockReader.Input(System.Byte[],System.Int32,System.Int32)">
            <summary>
            传输输入.
            当以length为0结束。
            否则读取端会超时。
            </summary>
            <param name="buffer"></param>
            <param name="offset"></param>
            <param name="length"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.BlockReader.InputComplate">
            <summary>
            输入完成
            </summary>
        </member>
        <member name="M:TouchSocket.Core.BlockReader.ResetBlock">
            <summary>
            重置阻塞
            </summary>
        </member>
        <member name="T:TouchSocket.Core.BlockReadStream">
            <summary>
            阻塞式单项读取流。
            </summary>
        </member>
        <member name="M:TouchSocket.Core.BlockReadStream.#ctor">
            <summary>
            构造函数
            </summary>
        </member>
        <member name="M:TouchSocket.Core.BlockReadStream.Write(System.Byte[])">
            <summary>
            <inheritdoc/>
            </summary>
            <param name="buffer"></param>
        </member>
        <member name="P:TouchSocket.Core.BlockReadStream.CanReadLen">
            <summary>
            还剩余的未读取的长度
            </summary>
        </member>
        <member name="P:TouchSocket.Core.BlockReadStream.CanSeek">
            <summary>
            不可使用
            </summary>
        </member>
        <member name="P:TouchSocket.Core.BlockReadStream.Length">
            <summary>
            不可使用
            </summary>
        </member>
        <member name="P:TouchSocket.Core.BlockReadStream.Position">
            <summary>
             不可使用
            </summary>
        </member>
        <member name="P:TouchSocket.Core.BlockReadStream.ReadTimeout">
            <summary>
            <inheritdoc/>
            </summary>
        </member>
        <member name="M:TouchSocket.Core.BlockReadStream.Read(System.Byte[],System.Int32,System.Int32)">
            <summary>
            阻塞读取。
            </summary>
            <param name="buffer"></param>
            <param name="offset"></param>
            <param name="count"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.BlockReadStream.Seek(System.Int64,System.IO.SeekOrigin)">
            <summary>
            不可使用
            </summary>
            <param name="offset"></param>
            <param name="origin"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.BlockReadStream.SetLength(System.Int64)">
            <summary>
            不可使用
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:TouchSocket.Core.BlockReadStream.Dispose(System.Boolean)">
            <summary>
            <inheritdoc/>
            </summary>
            <param name="disposing"></param>
        </member>
        <member name="M:TouchSocket.Core.BlockReadStream.Input(System.Byte[],System.Int32,System.Int32)">
            <summary>
            传输输入.
            必须以length为0结束。读取端会超时。
            </summary>
            <param name="buffer"></param>
            <param name="offset"></param>
            <param name="length"></param>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.VAction">
            <summary>
            控制台行为
            </summary>
        </member>
        <member name="M:TouchSocket.Core.VAction.#ctor(System.String,System.String,System.Action)">
            <summary>
            构造函数
            </summary>
            <param name="action"></param>
            <param name="description"></param>
            <param name="fullOrder"></param>
        </member>
        <member name="T:TouchSocket.Core.ConsoleAction">
            <summary>
            控制台行为
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ConsoleAction.#ctor(System.String)">
            <summary>
            构造函数
            </summary>
            <param name="helpOrder">帮助信息指令，如："h|help|?"</param>
        </member>
        <member name="E:TouchSocket.Core.ConsoleAction.OnException">
            <summary>
            执行异常
            </summary>
        </member>
        <member name="P:TouchSocket.Core.ConsoleAction.HelpOrder">
            <summary>
            帮助信息指令
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ConsoleAction.Add(System.String,System.String,System.Action)">
            <summary>
            添加
            </summary>
            <param name="order">指令，多个指令用“|”分割</param>
            <param name="description">描述</param>
            <param name="action"></param>
        </member>
        <member name="M:TouchSocket.Core.ConsoleAction.RunCommandLine">
            <summary>
            运行
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ConsoleAction.Run(System.String)">
            <summary>
            执行，返回值仅表示是否有这个指令，异常获取请使用<see cref="E:TouchSocket.Core.ConsoleAction.OnException"/>
            </summary>
            <param name="order"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ConsoleAction.ShowAll">
            <summary>
            显示所有注册指令
            </summary>
        </member>
        <member name="T:TouchSocket.Core.DirectoryUtility">
            <summary>
            DirectoryUtility
            </summary>
        </member>
        <member name="M:TouchSocket.Core.DirectoryUtility.CopyDirectory(System.String,System.String)">
            <summary>
            复制文件夹及文件
            </summary>
            <param name="sourceFolder">原文件路径</param>
            <param name="destFolder">目标文件路径</param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.DirectoryUtility.GetDirectories(System.String)">
            <summary>
            获取文件夹下的一级文件夹目录名称，不含子文件夹。
            </summary>
            <param name="sourceFolder"></param>
        </member>
        <member name="T:TouchSocket.Core.FilePool">
            <summary>
            文件池。
            </summary>
        </member>
        <member name="M:TouchSocket.Core.FilePool.GetAllPaths">
            <summary>
            获取所有的路径。
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.FilePool.GetFileStorageForRead(System.String)">
            <summary>
            加载文件为读取流
            </summary>
            <param name="path"></param>
            <returns></returns>
            <exception cref="T:System.ArgumentException"></exception>
            <exception cref="T:System.Exception"></exception>
        </member>
        <member name="M:TouchSocket.Core.FilePool.GetFileStorageForRead(System.IO.FileInfo)">
            <summary>
            加载文件为读取流
            </summary>
            <returns></returns>
            <exception cref="T:System.ArgumentException"></exception>
            <exception cref="T:System.Exception"></exception>
        </member>
        <member name="M:TouchSocket.Core.FilePool.GetFileStorageForWrite(System.String)">
            <summary>
            加载文件为写流
            </summary>
            <param name="path"></param>
            <returns></returns>
            <exception cref="T:System.ArgumentException"></exception>
            <exception cref="T:System.Exception"></exception>
        </member>
        <member name="M:TouchSocket.Core.FilePool.GetFileStorageForWrite(System.IO.FileInfo)">
            <summary>
            加载文件为写流
            </summary>
            <param name="fileInfo"></param>
            <returns></returns>
            <exception cref="T:System.ArgumentException"></exception>
            <exception cref="T:System.Exception"></exception>
        </member>
        <member name="M:TouchSocket.Core.FilePool.GetFileStorageStream(System.String)">
            <summary>
            获取一个可读可写的Stream对象。
            </summary>
            <param name="path"></param>
            <returns></returns>
            <exception cref="T:System.ArgumentException"></exception>
            <exception cref="T:System.Exception"></exception>
        </member>
        <member name="M:TouchSocket.Core.FilePool.GetFileStorageStream(System.IO.FileInfo)">
            <summary>
            获取一个可读可写的Stream对象。
            </summary>
            <param name="fileInfo"></param>
            <returns></returns>
            <exception cref="T:System.ArgumentException"></exception>
            <exception cref="T:System.Exception"></exception>
        </member>
        <member name="M:TouchSocket.Core.FilePool.GetReader(System.String)">
            <summary>
            获取一个文件读取访问器
            </summary>
            <param name="path"></param>
            <returns></returns>
            <exception cref="T:System.ArgumentException"></exception>
            <exception cref="T:System.Exception"></exception>
        </member>
        <member name="M:TouchSocket.Core.FilePool.GetReader(System.IO.FileInfo)">
            <summary>
            获取一个文件读取访问器
            </summary>
            <param name="fileInfo"></param>
            <returns></returns>
            <exception cref="T:System.ArgumentException"></exception>
            <exception cref="T:System.Exception"></exception>
        </member>
        <member name="M:TouchSocket.Core.FilePool.GetReferenceCount(System.String)">
            <summary>
            获取引用次数。
            </summary>
            <param name="path">必须是全路径。</param>
            <returns></returns>
            <exception cref="T:System.ArgumentException"></exception>
            <exception cref="T:System.Exception"></exception>
        </member>
        <member name="M:TouchSocket.Core.FilePool.GetWriter(System.String)">
            <summary>
            获取一个文件写入访问器
            </summary>
            <param name="path">路径</param>
            <returns></returns>
            <exception cref="T:System.ArgumentException"></exception>
            <exception cref="T:System.Exception"></exception>
        </member>
        <member name="M:TouchSocket.Core.FilePool.GetWriter(System.IO.FileInfo)">
            <summary>
            获取一个文件写入访问器
            </summary>
            <param name="fileInfo"></param>
            <returns></returns>
            <exception cref="T:System.ArgumentException"></exception>
            <exception cref="T:System.Exception"></exception>
        </member>
        <member name="M:TouchSocket.Core.FilePool.LoadFileForCacheRead(System.String)">
            <summary>
            加载文件为缓存读取流
            </summary>
            <param name="path"></param>
            <returns></returns>
            <exception cref="T:System.ArgumentException"></exception>
            <exception cref="T:System.Exception"></exception>
        </member>
        <member name="M:TouchSocket.Core.FilePool.TryReleaseFile(System.String,System.Int32)">
            <summary>
            减少引用次数，并尝试释放流。
            </summary>
            <param name="path"></param>
            <param name="delayTime">延迟释放时间。当设置为0时，立即释放,单位毫秒。</param>
            <returns></returns>
            <exception cref="T:System.ArgumentException"></exception>
            <exception cref="T:System.Exception"></exception>
        </member>
        <member name="T:TouchSocket.Core.FileStorage">
            <summary>
            文件存储器。在该存储器中，读写线程安全。
            </summary>
        </member>
        <member name="M:TouchSocket.Core.FileStorage.#ctor(System.IO.FileInfo,System.IO.FileAccess)">
            <summary>
            初始化一个文件存储器。在该存储器中，读写线程安全。
            </summary>
        </member>
        <member name="P:TouchSocket.Core.FileStorage.AccessTime">
            <summary>
            最后访问时间。
            </summary>
        </member>
        <member name="P:TouchSocket.Core.FileStorage.AccessTimeout">
            <summary>
            访问超时时间。默认60s
            </summary>
        </member>
        <member name="P:TouchSocket.Core.FileStorage.Cache">
            <summary>
            是否为缓存型。为false时，意味着该文件句柄正在被该程序占用。
            </summary>
        </member>
        <member name="P:TouchSocket.Core.FileStorage.FileAccess">
            <summary>
            访问属性
            </summary>
        </member>
        <member name="P:TouchSocket.Core.FileStorage.FileInfo">
            <summary>
            文件信息
            </summary>
        </member>
        <member name="P:TouchSocket.Core.FileStorage.FileStream">
            <summary>
            文件流。
            一般情况下，请不要直接访问该对象。否则有可能会产生不可预测的错误。
            </summary>
        </member>
        <member name="P:TouchSocket.Core.FileStorage.Length">
            <summary>
            文件长度
            </summary>
        </member>
        <member name="P:TouchSocket.Core.FileStorage.Path">
            <summary>
            文件路径
            </summary>
        </member>
        <member name="P:TouchSocket.Core.FileStorage.Reference">
            <summary>
            引用次数。
            </summary>
        </member>
        <member name="M:TouchSocket.Core.FileStorage.TryCreateCacheFileStorage(System.String,TouchSocket.Core.FileStorage@,System.String@)">
            <summary>
            创建一个只读的、已经缓存的文件信息。该操作不会占用文件句柄。
            </summary>
            <param name="path"></param>
            <param name="fileStorage"></param>
            <param name="msg"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.FileStorage.Flush">
            <summary>
            写入时清空缓存区
            </summary>
        </member>
        <member name="M:TouchSocket.Core.FileStorage.Read(System.Int64,System.Byte[],System.Int32,System.Int32)">
            <summary>
            从指定位置，读取数据到缓存区。线程安全。
            </summary>
            <param name="stratPos"></param>
            <param name="buffer"></param>
            <param name="offset"></param>
            <param name="length"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.FileStorage.TryReleaseFile(System.Int32)">
            <summary>
            减少引用次数，并尝试释放流。
            </summary>
            <param name="delayTime">延迟释放时间。当设置为0时，立即释放,单位毫秒。</param>
            <returns></returns>
            <exception cref="T:System.ArgumentException"></exception>
            <exception cref="T:System.Exception"></exception>
        </member>
        <member name="M:TouchSocket.Core.FileStorage.Write(System.Int64,System.Byte[],System.Int32,System.Int32)">
            <summary>
            从指定位置，写入数据到存储区。线程安全。
            </summary>
            <param name="stratPos"></param>
            <param name="buffer"></param>
            <param name="offset"></param>
            <param name="length"></param>
        </member>
        <member name="T:TouchSocket.Core.FileStorageReader">
            <summary>
            文件读取器
            </summary>
        </member>
        <member name="M:TouchSocket.Core.FileStorageReader.#ctor(TouchSocket.Core.FileStorage)">
            <summary>
            构造函数
            </summary>
            <param name="fileStorage"></param>
        </member>
        <member name="M:TouchSocket.Core.FileStorageReader.Finalize">
            <summary>
            析构函数
            </summary>
        </member>
        <member name="P:TouchSocket.Core.FileStorageReader.FileStorage">
            <summary>
            文件存储器
            </summary>
        </member>
        <member name="P:TouchSocket.Core.FileStorageReader.Pos">
            <summary>
            游标位置
            </summary>
        </member>
        <member name="P:TouchSocket.Core.FileStorageReader.Position">
            <summary>
            游标位置
            </summary>
        </member>
        <member name="M:TouchSocket.Core.FileStorageReader.Read(System.Byte[],System.Int32,System.Int32)">
            <summary>
            读取数据到缓存区
            </summary>
            <param name="buffer"></param>
            <param name="offset"></param>
            <param name="length"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.FileStorageReader.Dispose(System.Boolean)">
            <summary>
            <inheritdoc/>
            </summary>
            <param name="disposing"></param>
        </member>
        <member name="T:TouchSocket.Core.FileStorageStream">
            <summary>
            FileStorageStream。非线程安全。
            </summary>
        </member>
        <member name="M:TouchSocket.Core.FileStorageStream.#ctor(TouchSocket.Core.FileStorage)">
            <summary>
            构造函数
            </summary>
            <param name="fileStorage"></param>
        </member>
        <member name="M:TouchSocket.Core.FileStorageStream.Finalize">
            <summary>
            析构函数
            </summary>
        </member>
        <member name="P:TouchSocket.Core.FileStorageStream.CanRead">
            <summary>
            <inheritdoc/>
            </summary>
        </member>
        <member name="P:TouchSocket.Core.FileStorageStream.CanSeek">
            <summary>
            <inheritdoc/>
            </summary>
        </member>
        <member name="P:TouchSocket.Core.FileStorageStream.CanWrite">
            <summary>
            <inheritdoc/>
            </summary>
        </member>
        <member name="P:TouchSocket.Core.FileStorageStream.FileStorage">
            <summary>
            文件存储器
            </summary>
        </member>
        <member name="P:TouchSocket.Core.FileStorageStream.Length">
            <summary>
            <inheritdoc/>
            </summary>
        </member>
        <member name="P:TouchSocket.Core.FileStorageStream.Position">
            <summary>
            <inheritdoc/>
            </summary>
        </member>
        <member name="M:TouchSocket.Core.FileStorageStream.Flush">
            <summary>
            <inheritdoc/>
            </summary>
        </member>
        <member name="M:TouchSocket.Core.FileStorageStream.Read(System.Byte[],System.Int32,System.Int32)">
            <summary>
            <inheritdoc/>
            </summary>
            <param name="buffer"></param>
            <param name="offset"></param>
            <param name="count"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.FileStorageStream.Seek(System.Int64,System.IO.SeekOrigin)">
            <summary>
            <inheritdoc/>
            </summary>
            <param name="offset"></param>
            <param name="origin"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.FileStorageStream.SetLength(System.Int64)">
            <summary>
            <inheritdoc/>
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:TouchSocket.Core.FileStorageStream.Write(System.Byte[],System.Int32,System.Int32)">
            <summary>
            <inheritdoc/>
            </summary>
            <param name="buffer"></param>
            <param name="offset"></param>
            <param name="count"></param>
        </member>
        <member name="M:TouchSocket.Core.FileStorageStream.Dispose(System.Boolean)">
            <summary>
            <inheritdoc/>
            </summary>
            <param name="disposing"></param>
        </member>
        <member name="T:TouchSocket.Core.FileStorageWriter">
            <summary>
            文件写入器。
            </summary>
        </member>
        <member name="M:TouchSocket.Core.FileStorageWriter.#ctor(TouchSocket.Core.FileStorage)">
            <summary>
            构造函数
            </summary>
            <param name="fileStorage"></param>
        </member>
        <member name="M:TouchSocket.Core.FileStorageWriter.Write(System.Byte[])">
            <summary>
            <inheritdoc/>
            </summary>
            <param name="buffer"></param>
        </member>
        <member name="M:TouchSocket.Core.FileStorageWriter.Finalize">
            <summary>
            析构函数
            </summary>
        </member>
        <member name="P:TouchSocket.Core.FileStorageWriter.FileStorage">
            <summary>
            文件存储器
            </summary>
        </member>
        <member name="P:TouchSocket.Core.FileStorageWriter.Pos">
            <summary>
            游标位置
            </summary>
        </member>
        <member name="P:TouchSocket.Core.FileStorageWriter.Position">
            <summary>
            游标位置
            </summary>
        </member>
        <member name="M:TouchSocket.Core.FileStorageWriter.SeekToEnd">
            <summary>
            移动Pos到流末尾
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.FileStorageWriter.Write(System.Byte[],System.Int32,System.Int32)">
            <summary>
            读取数据到缓存区
            </summary>
            <param name="buffer"></param>
            <param name="offset"></param>
            <param name="length"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.FileStorageWriter.Dispose(System.Boolean)">
            <summary>
            <inheritdoc/>
            </summary>
            <param name="disposing"></param>
        </member>
        <member name="T:TouchSocket.Core.FileUtility">
            <summary>
            文件操作
            </summary>
        </member>
        <member name="M:TouchSocket.Core.FileUtility.GetDuplicateFileName(System.String)">
            <summary>
            获取不重复文件名。
            <para>例如：New.txt已存在时，会返回New(1).txt</para>
            </summary>
            <param name="fileName"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.FileUtility.GetDuplicateDirectoryName(System.String)">
            <summary>
            获取不重复文件夹名称.
            <para>例如：NewDir已存在时，会返回NewDir(1)</para>
            </summary>
            <param name="dirName"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.FileUtility.ToFileLengthString(System.Int64)">
            <summary>
            转化为文件大小的字符串，类似10B，10Kb，10Mb，10Gb。
            </summary>
            <param name="length"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.FileUtility.GetFileMD5(System.String)">
            <summary>
            获取文件MD5
            </summary>
            <param name="path"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.FileUtility.GetStreamMD5(System.IO.Stream)">
            <summary>
            获取流MD5
            </summary>
            <param name="fileStream"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.FileUtility.GetFileHash256(System.String)">
            <summary>
            获得文件Hash值
            </summary>
            <param name="filePath">文件路径</param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.FileUtility.GetStreamHash256(System.IO.Stream)">
            <summary>
            获得流Hash值
            </summary>
            <param name="stream"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.FileUtility.GetFileHash(System.String,System.Security.Cryptography.HashAlgorithm)">
            <summary>
            获得文件Hash值
            </summary>
            <param name="filePath">文件路径</param>
            <param name="hash"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.FileUtility.GetStreamHash(System.IO.Stream,System.Security.Cryptography.HashAlgorithm)">
            <summary>
            获得流Hash值
            </summary>
            <param name="stream"></param>
            <param name="hash"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.FileUtility.GetIncludeFileNames(System.String)">
            <summary>
            获取仅当前文件夹中包含的文件名称，不含全路径。
            </summary>
            <param name="dirPath"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.FileUtility.GetRelativePath(System.String,System.String)">
            <summary>
            获取相对路径。
            </summary>
            <param name="relativeTo"></param>
            <param name="path"></param>
            <returns></returns>
            <exception cref="T:System.ArgumentNullException"></exception>
        </member>
        <member name="M:TouchSocket.Core.FileUtility.Delete(System.String)">
            <summary>
            删除路径文件
            </summary>
            <param name="path"></param>
        </member>
        <member name="M:TouchSocket.Core.FileUtility.FileIsOpen(System.String)">
            <summary>
            判断文件是否被已打开
            </summary>
            <param name="fileFullName"></param>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.WrapStream">
            <summary>
            包装的流。为避免该流释放时，内部流也会被释放的问题
            </summary>
        </member>
        <member name="M:TouchSocket.Core.WrapStream.#ctor(System.IO.Stream)">
            <summary>
            包装的流。为避免该流释放时，内部流也会被释放的问题
            </summary>
            <param name="stream"></param>
        </member>
        <member name="P:TouchSocket.Core.WrapStream.CanRead">
            <summary>
            <inheritdoc/>
            </summary>
        </member>
        <member name="P:TouchSocket.Core.WrapStream.CanSeek">
            <summary>
            <inheritdoc/>
            </summary>
        </member>
        <member name="P:TouchSocket.Core.WrapStream.CanWrite">
            <summary>
            <inheritdoc/>
            </summary>
        </member>
        <member name="P:TouchSocket.Core.WrapStream.Length">
            <summary>
            <inheritdoc/>
            </summary>
        </member>
        <member name="P:TouchSocket.Core.WrapStream.Position">
            <summary>
            <inheritdoc/>
            </summary>
        </member>
        <member name="M:TouchSocket.Core.WrapStream.Flush">
            <summary>
            <inheritdoc/>
            </summary>
        </member>
        <member name="M:TouchSocket.Core.WrapStream.Read(System.Byte[],System.Int32,System.Int32)">
            <summary>
            <inheritdoc/>
            </summary>
            <param name="buffer"></param>
            <param name="offset"></param>
            <param name="count"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.WrapStream.Seek(System.Int64,System.IO.SeekOrigin)">
            <summary>
            <inheritdoc/>
            </summary>
            <param name="offset"></param>
            <param name="origin"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.WrapStream.SetLength(System.Int64)">
            <summary>
            <inheritdoc/>
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:TouchSocket.Core.WrapStream.Write(System.Byte[],System.Int32,System.Int32)">
            <summary>
            <inheritdoc/>
            </summary>
            <param name="buffer"></param>
            <param name="offset"></param>
            <param name="count"></param>
        </member>
        <member name="M:TouchSocket.Core.WrapStream.Close">
            <summary>
            没有关闭效果
            </summary>
        </member>
        <member name="M:TouchSocket.Core.WrapStream.Dispose(System.Boolean)">
            <summary>
            没有释放效果
            </summary>
            <param name="disposing"></param>
        </member>
        <member name="T:TouchSocket.Core.ConsoleLogger">
            <summary>
            控制台日志记录器
            </summary>
        </member>
        <member name="P:TouchSocket.Core.ConsoleLogger.Default">
            <summary>
            默认的实例
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ConsoleLogger.WriteLog(TouchSocket.Core.LogLevel,System.Object,System.String,System.Exception)">
            <summary>
            <inheritdoc/>
            </summary>
            <param name="logLevel"></param>
            <param name="source"></param>
            <param name="message"></param>
            <param name="exception"></param>
        </member>
        <member name="T:TouchSocket.Core.EasyLogger">
            <summary>
            一个简单的委托日志
            </summary>
        </member>
        <member name="M:TouchSocket.Core.EasyLogger.#ctor(System.Action{TouchSocket.Core.LogLevel,System.Object,System.String,System.Exception})">
            <summary>
            一个简单的委托日志
            </summary>
            <param name="action">参数依次为：日志类型，触发源，消息，异常</param>
        </member>
        <member name="M:TouchSocket.Core.EasyLogger.#ctor(System.Action{System.String})">
            <summary>
            一个简单的委托日志
            </summary>
            <param name="action">参数为日志消息输出。</param>
        </member>
        <member name="M:TouchSocket.Core.EasyLogger.WriteLog(TouchSocket.Core.LogLevel,System.Object,System.String,System.Exception)">
            <summary>
            <inheritdoc/>
            </summary>
            <param name="logLevel"></param>
            <param name="source"></param>
            <param name="message"></param>
            <param name="exception"></param>
        </member>
        <member name="T:TouchSocket.Core.FileLogger">
            <summary>
            文件日志记录器
            <para>会在指定目录下，生成logs文件夹，然后按[yyyy-MM-dd].log的形式，每日生成日志</para>
            </summary>
        </member>
        <member name="M:TouchSocket.Core.FileLogger.#ctor(System.String)">
            <summary>
            构造函数
            </summary>
            <param name="rootPath">日志根目录</param>
        </member>
        <member name="M:TouchSocket.Core.FileLogger.Finalize">
            <summary>
            析构函数
            </summary>
        </member>
        <member name="P:TouchSocket.Core.FileLogger.MaxSize">
            <summary>
            最大日志尺寸
            </summary>
        </member>
        <member name="M:TouchSocket.Core.FileLogger.Dispose">
            <summary>
            <inheritdoc/>
            </summary>
        </member>
        <member name="M:TouchSocket.Core.FileLogger.Dispose(System.Boolean)">
            <summary>
            释放
            </summary>
            <param name="disposing"></param>
        </member>
        <member name="M:TouchSocket.Core.FileLogger.WriteLog(TouchSocket.Core.LogLevel,System.Object,System.String,System.Exception)">
            <summary>
            <inheritdoc/>
            </summary>
            <param name="logLevel"></param>
            <param name="source"></param>
            <param name="message"></param>
            <param name="exception"></param>
        </member>
        <member name="T:TouchSocket.Core.ILog">
            <summary>
            日志接口
            </summary>
        </member>
        <member name="P:TouchSocket.Core.ILog.LogLevel">
            <summary>
            日志输出级别。
            当<see cref="M:TouchSocket.Core.ILog.Log(TouchSocket.Core.LogLevel,System.Object,System.String,System.Exception)"/>的类型，在该设置之内时，才会真正输出日志。
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ILog.Log(TouchSocket.Core.LogLevel,System.Object,System.String,System.Exception)">
            <summary>
            日志记录
            </summary>
            <param name="logLevel"></param>
            <param name="source"></param>
            <param name="message"></param>
            <param name="exception"></param>
        </member>
        <member name="T:TouchSocket.Core.ILoggerObject">
            <summary>
            具有日志记录器的对象接口
            </summary>
        </member>
        <member name="P:TouchSocket.Core.ILoggerObject.Logger">
            <summary>
            日志记录器
            </summary>
        </member>
        <member name="T:TouchSocket.Core.LoggerBase">
            <summary>
            日志基类
            </summary>
        </member>
        <member name="P:TouchSocket.Core.LoggerBase.LogLevel">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.LoggerBase.Log(TouchSocket.Core.LogLevel,System.Object,System.String,System.Exception)">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.LoggerBase.WriteLog(TouchSocket.Core.LogLevel,System.Object,System.String,System.Exception)">
            <summary>
            筛选日志后输出
            </summary>
            <param name="logLevel"></param>
            <param name="source"></param>
            <param name="message"></param>
            <param name="exception"></param>
        </member>
        <member name="T:TouchSocket.Core.LoggerContainerExtension">
            <summary>
            LoggerContainerExtension
            </summary>
        </member>
        <member name="M:TouchSocket.Core.LoggerContainerExtension.AddConsoleLogger(TouchSocket.Core.LoggerGroup)">
            <summary>
            添加控制台日志到日志组。
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.LoggerContainerExtension.AddEasyLogger(TouchSocket.Core.LoggerGroup,System.Action{TouchSocket.Core.LogLevel,System.Object,System.String,System.Exception})">
            <summary>
            添加委托日志到日志组。
            </summary>
            <param name="loggerGroup"></param>
            <param name="action"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.LoggerContainerExtension.AddEasyLogger(TouchSocket.Core.LoggerGroup,System.Action{System.String})">
            <summary>
            添加委托日志到日志组。
            </summary>
            <param name="loggerGroup"></param>
            <param name="action"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.LoggerContainerExtension.AddFileLogger(TouchSocket.Core.LoggerGroup,System.String)">
            <summary>
            添加文件日志到日志组。
            </summary>
            <param name="loggerGroup"></param>
            <param name="rootPath"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.LoggerContainerExtension.AddConsoleLogger(TouchSocket.Core.IRegistrator)">
            <summary>
            添加控制台日志到日志组。
            </summary>
            <param name="container"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.LoggerContainerExtension.AddEasyLogger(TouchSocket.Core.IRegistrator,System.Action{TouchSocket.Core.LogLevel,System.Object,System.String,System.Exception})">
            <summary>
            添加委托日志到日志组。
            </summary>
            <param name="container"></param>
            <param name="action"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.LoggerContainerExtension.AddEasyLogger(TouchSocket.Core.IRegistrator,System.Action{System.String})">
            <summary>
            添加委托日志到日志组。
            </summary>
            <param name="container"></param>
            <param name="action"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.LoggerContainerExtension.AddFileLogger(TouchSocket.Core.IRegistrator,System.String)">
            <summary>
            添加文件日志到日志组。
            </summary>
            <param name="container"></param>
            <param name="rootPath"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.LoggerContainerExtension.AddLogger(TouchSocket.Core.IRegistrator,TouchSocket.Core.ILog)">
            <summary>
            添加日志到容器。
            </summary>
            <param name="registrator"></param>
            <param name="logger"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.LoggerContainerExtension.AddLogger(TouchSocket.Core.IRegistrator,System.Action{TouchSocket.Core.LoggerGroup})">
            <summary>
            添加日志组
            </summary>
            <param name="registrator"></param>
            <param name="loggerAction"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.LoggerContainerExtension.SetSingletonLogger``1(TouchSocket.Core.IRegistrator)">
            <summary>
            设置单例日志。
            </summary>
            <typeparam name="TLogger"></typeparam>
            <param name="registrator"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.LoggerContainerExtension.SetSingletonLogger``1(TouchSocket.Core.IRegistrator,``0)">
            <summary>
            设置单例实例日志。
            </summary>
            <typeparam name="TLogger"></typeparam>
            <param name="registrator"></param>
            <param name="logger"></param>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.LoggerExtensions">
            <summary>
            <inheritdoc/>
            </summary>
        </member>
        <member name="M:TouchSocket.Core.LoggerExtensions.Critical``1(TouchSocket.Core.ILog,System.String)">
            <summary>
            指定在<see cref="T:TouchSocket.Core.LoggerGroup"/>中的特定日志类型中输出中断日志
            </summary>
            <param name="logger"></param>
            <param name="msg"></param>
        </member>
        <member name="M:TouchSocket.Core.LoggerExtensions.Debug``1(TouchSocket.Core.ILog,System.String)">
            <summary>
            指定在<see cref="T:TouchSocket.Core.LoggerGroup"/>中的特定日志类型中输出调试日志
            </summary>
            <param name="logger"></param>
            <param name="msg"></param>
        </member>
        <member name="M:TouchSocket.Core.LoggerExtensions.Error``1(TouchSocket.Core.ILog,System.String)">
            <summary>
            指定在<see cref="T:TouchSocket.Core.LoggerGroup"/>中的特定日志类型中输出错误日志
            </summary>
            <param name="logger"></param>
            <param name="msg"></param>
        </member>
        <member name="M:TouchSocket.Core.LoggerExtensions.Error``1(TouchSocket.Core.ILog,System.Object,System.String)">
            <summary>
            指定在<see cref="T:TouchSocket.Core.LoggerGroup"/>中的特定日志类型中输出错误日志
            </summary>
            <param name="logger"></param>
            <param name="source"></param>
            <param name="msg"></param>
        </member>
        <member name="M:TouchSocket.Core.LoggerExtensions.Exception``1(TouchSocket.Core.ILog,System.Exception)">
            <summary>
            指定在<see cref="T:TouchSocket.Core.LoggerGroup"/>中的特定日志类型中输出异常日志
            </summary>
            <param name="logger"></param>
            <param name="ex"></param>
        </member>
        <member name="M:TouchSocket.Core.LoggerExtensions.Exception``1(TouchSocket.Core.ILog,System.Object,System.Exception)">
            <summary>
            指定在<see cref="T:TouchSocket.Core.LoggerGroup"/>中的特定日志类型中输出异常日志
            </summary>
            <param name="logger"></param>
            <param name="source"></param>
            <param name="ex"></param>
        </member>
        <member name="M:TouchSocket.Core.LoggerExtensions.Info``1(TouchSocket.Core.ILog,System.String)">
            <summary>
            指定在<see cref="T:TouchSocket.Core.LoggerGroup"/>中的特定日志类型中输出消息日志
            </summary>
            <param name="logger"></param>
            <param name="msg"></param>
        </member>
        <member name="M:TouchSocket.Core.LoggerExtensions.Info``1(TouchSocket.Core.ILog,System.Object,System.String)">
            <summary>
            指定在<see cref="T:TouchSocket.Core.LoggerGroup"/>中的特定日志类型中输出消息日志
            </summary>
            <param name="logger"></param>
            <param name="source"></param>
            <param name="msg"></param>
        </member>
        <member name="M:TouchSocket.Core.LoggerExtensions.Log``1(TouchSocket.Core.ILog,TouchSocket.Core.LogLevel,System.Object,System.String,System.Exception)">
            <summary>
            指定在<see cref="T:TouchSocket.Core.LoggerGroup"/>中的特定日志类型中输出日志
            </summary>
            <param name="logLevel"></param>
            <param name="source"></param>
            <param name="message"></param>
            <param name="exception"></param>
            <param name="logger"></param>
        </member>
        <member name="M:TouchSocket.Core.LoggerExtensions.Trace``1(TouchSocket.Core.ILog,System.String)">
            <summary>
            指定在<see cref="T:TouchSocket.Core.LoggerGroup"/>中的特定日志类型中输出详细日志
            </summary>
            <param name="logger"></param>
            <param name="msg"></param>
        </member>
        <member name="M:TouchSocket.Core.LoggerExtensions.Warning``1(TouchSocket.Core.ILog,System.String)">
            <summary>
            指定在<see cref="T:TouchSocket.Core.LoggerGroup"/>中的特定日志类型中输出警示日志
            </summary>
            <param name="logger"></param>
            <param name="msg"></param>
        </member>
        <member name="M:TouchSocket.Core.LoggerExtensions.Warning``1(TouchSocket.Core.ILog,System.Object,System.String)">
            <summary>
            指定在<see cref="T:TouchSocket.Core.LoggerGroup"/>中的特定日志类型中输出警示日志
            </summary>
            <param name="logger"></param>
            <param name="source"></param>
            <param name="msg"></param>
        </member>
        <member name="M:TouchSocket.Core.LoggerExtensions.Critical(TouchSocket.Core.ILog,System.String)">
            <summary>
            输出中断日志
            </summary>
            <param name="logger"></param>
            <param name="msg"></param>
        </member>
        <member name="M:TouchSocket.Core.LoggerExtensions.Debug(TouchSocket.Core.ILog,System.String)">
            <summary>
            输出调试日志
            </summary>
            <param name="logger"></param>
            <param name="msg"></param>
        </member>
        <member name="M:TouchSocket.Core.LoggerExtensions.Error(TouchSocket.Core.ILog,System.String)">
            <summary>
            输出错误日志
            </summary>
            <param name="logger"></param>
            <param name="msg"></param>
        </member>
        <member name="M:TouchSocket.Core.LoggerExtensions.Error(TouchSocket.Core.ILog,System.Object,System.String)">
            <summary>
            输出错误日志
            </summary>
            <param name="logger"></param>
            <param name="source"></param>
            <param name="msg"></param>
        </member>
        <member name="M:TouchSocket.Core.LoggerExtensions.Exception(TouchSocket.Core.ILog,System.Exception)">
            <summary>
            输出异常日志
            </summary>
            <param name="logger"></param>
            <param name="ex"></param>
        </member>
        <member name="M:TouchSocket.Core.LoggerExtensions.Exception(TouchSocket.Core.ILog,System.Object,System.Exception)">
            <summary>
            输出异常日志
            </summary>
            <param name="logger"></param>
            <param name="source"></param>
            <param name="ex"></param>
        </member>
        <member name="M:TouchSocket.Core.LoggerExtensions.Exception(TouchSocket.Core.ILog,System.Object,System.String,System.Exception)">
            <summary>
            输出异常日志
            </summary>
            <param name="logger"></param>
            <param name="source"></param>
            <param name="msg"></param>
            <param name="ex"></param>
        </member>
        <member name="M:TouchSocket.Core.LoggerExtensions.Info(TouchSocket.Core.ILog,System.String)">
            <summary>
            输出消息日志
            </summary>
            <param name="logger"></param>
            <param name="msg"></param>
        </member>
        <member name="M:TouchSocket.Core.LoggerExtensions.Info(TouchSocket.Core.ILog,System.Object,System.String)">
            <summary>
            输出消息日志
            </summary>
            <param name="logger"></param>
            <param name="source"></param>
            <param name="msg"></param>
        </member>
        <member name="M:TouchSocket.Core.LoggerExtensions.Trace(TouchSocket.Core.ILog,System.String)">
            <summary>
            输出详细日志
            </summary>
            <param name="logger"></param>
            <param name="msg"></param>
        </member>
        <member name="M:TouchSocket.Core.LoggerExtensions.Warning(TouchSocket.Core.ILog,System.String)">
            <summary>
            输出警示日志
            </summary>
            <param name="logger"></param>
            <param name="msg"></param>
        </member>
        <member name="M:TouchSocket.Core.LoggerExtensions.Warning(TouchSocket.Core.ILog,System.Object,System.String)">
            <summary>
            输出警示日志
            </summary>
            <param name="logger"></param>
            <param name="source"></param>
            <param name="msg"></param>
        </member>
        <member name="T:TouchSocket.Core.LoggerGroup">
            <summary>
            一组日志记录器
            </summary>
        </member>
        <member name="M:TouchSocket.Core.LoggerGroup.#ctor(TouchSocket.Core.ILog[])">
            <summary>
            一组日志记录器
            </summary>
            <param name="logs"></param>
        </member>
        <member name="M:TouchSocket.Core.LoggerGroup.#ctor">
            <summary>
             一组日志记录器
            </summary>
        </member>
        <member name="P:TouchSocket.Core.LoggerGroup.Logs">
            <summary>
            组内的日志记录器
            </summary>
        </member>
        <member name="M:TouchSocket.Core.LoggerGroup.AddLogger(TouchSocket.Core.ILog)">
            <summary>
            添加日志组件
            </summary>
            <param name="logger"></param>
        </member>
        <member name="M:TouchSocket.Core.LoggerGroup.Log``1(TouchSocket.Core.LogLevel,System.Object,System.String,System.Exception)">
            <summary>
            指定输出<see cref="T:TouchSocket.Core.LoggerGroup"/>中的特定类型的日志
            </summary>
            <param name="logLevel"></param>
            <param name="source"></param>
            <param name="message"></param>
            <param name="exception"></param>
        </member>
        <member name="M:TouchSocket.Core.LoggerGroup.RemoveLogger(TouchSocket.Core.ILog)">
            <summary>
            移除指定日志日志
            </summary>
            <param name="logger"></param>
        </member>
        <member name="M:TouchSocket.Core.LoggerGroup.RemoveLogger(System.Type)">
            <summary>
            移除指定类型的所有日志。
            </summary>
            <param name="loggerType"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.LoggerGroup.WriteLog(TouchSocket.Core.LogLevel,System.Object,System.String,System.Exception)">
            <summary>
            <inheritdoc/>
            </summary>
            <param name="logLevel"></param>
            <param name="source"></param>
            <param name="message"></param>
            <param name="exception"></param>
        </member>
        <member name="T:TouchSocket.Core.LoggerGroup`2">
            <summary>
            一组日志记录器
            </summary>
            <typeparam name="TLog1"></typeparam>
            <typeparam name="TLog2"></typeparam>
        </member>
        <member name="M:TouchSocket.Core.LoggerGroup`2.#ctor(`0,`1)">
            <summary>
            一组日志记录器
            </summary>
        </member>
        <member name="T:TouchSocket.Core.LoggerGroup`3">
            <summary>
            一组日志记录器
            </summary>
            <typeparam name="TLog1"></typeparam>
            <typeparam name="TLog2"></typeparam>
            <typeparam name="TLog3"></typeparam>
        </member>
        <member name="M:TouchSocket.Core.LoggerGroup`3.#ctor(`0,`1,`2)">
            <summary>
            一组日志记录器
            </summary>
        </member>
        <member name="T:TouchSocket.Core.LoggerGroup`4">
            <summary>
            一组日志记录器
            </summary>
            <typeparam name="TLog1"></typeparam>
            <typeparam name="TLog2"></typeparam>
            <typeparam name="TLog3"></typeparam>
            <typeparam name="TLog4"></typeparam>
        </member>
        <member name="M:TouchSocket.Core.LoggerGroup`4.#ctor(`0,`1,`2,`3)">
            <summary>
            一组日志记录器
            </summary>
        </member>
        <member name="T:TouchSocket.Core.LoggerGroup`5">
            <summary>
            一组日志记录器
            </summary>
            <typeparam name="TLog1"></typeparam>
            <typeparam name="TLog2"></typeparam>
            <typeparam name="TLog3"></typeparam>
            <typeparam name="TLog4"></typeparam>
            <typeparam name="TLog5"></typeparam>
        </member>
        <member name="M:TouchSocket.Core.LoggerGroup`5.#ctor(`0,`1,`2,`3,`4)">
            <summary>
            一组日志记录器
            </summary>
        </member>
        <member name="T:TouchSocket.Core.LoggerGroup`6">
            <summary>
            一组日志记录器
            </summary>
            <typeparam name="TLog1"></typeparam>
            <typeparam name="TLog2"></typeparam>
            <typeparam name="TLog3"></typeparam>
            <typeparam name="TLog4"></typeparam>
            <typeparam name="TLog5"></typeparam>
            <typeparam name="TLog6"></typeparam>
        </member>
        <member name="M:TouchSocket.Core.LoggerGroup`6.#ctor(`0,`1,`2,`3,`4,`5)">
            <summary>
            一组日志记录器
            </summary>
        </member>
        <member name="T:TouchSocket.Core.LogLevel">
            <summary>
            日志类型。
            </summary>
        </member>
        <member name="F:TouchSocket.Core.LogLevel.Trace">
            <summary>
            更为详细的步骤型日志输出
            </summary>
        </member>
        <member name="F:TouchSocket.Core.LogLevel.Debug">
            <summary>
            调试信息日志
            </summary>
        </member>
        <member name="F:TouchSocket.Core.LogLevel.Info">
            <summary>
            消息类日志输出
            </summary>
        </member>
        <member name="F:TouchSocket.Core.LogLevel.Warning">
            <summary>
            警告类日志输出
            </summary>
        </member>
        <member name="F:TouchSocket.Core.LogLevel.Error">
            <summary>
            错误类日志输出
            </summary>
        </member>
        <member name="F:TouchSocket.Core.LogLevel.Critical">
            <summary>
            不可控中断类日输出
            </summary>
        </member>
        <member name="F:TouchSocket.Core.LogLevel.None">
            <summary>
            不使用日志类输出
            </summary>
        </member>
        <member name="T:TouchSocket.Core.Mapper">
            <summary>
            映射数据
            </summary>
        </member>
        <member name="M:TouchSocket.Core.Mapper.Map``1(System.Object,TouchSocket.Core.MapperOption)">
            <summary>
            简单映射
            </summary>
            <typeparam name="TTarget"></typeparam>
            <param name="source"></param>
            <param name="option"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.Mapper.Map``1(``0,TouchSocket.Core.MapperOption)">
            <summary>
            简单映射
            </summary>
            <typeparam name="TTarget"></typeparam>
            <param name="source"></param>
            <param name="option"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.Mapper.Map``2(``0,TouchSocket.Core.MapperOption)">
            <summary>
            简单映射
            </summary>
            <typeparam name="TSource"></typeparam>
            <typeparam name="TTarget"></typeparam>
            <param name="source"></param>
            <param name="option"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.Mapper.Map(System.Object,System.Type,TouchSocket.Core.MapperOption)">
            <summary>
            简单对象映射
            </summary>
            <param name="source"></param>
            <param name="targetType"></param>
            <param name="option"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.Mapper.Map(System.Object,System.Object,TouchSocket.Core.MapperOption)">
            <summary>
            简单对象映射
            </summary>
            <param name="source"></param>
            <param name="target"></param>
            <param name="option"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.Mapper.MapList``2(System.Collections.Generic.IEnumerable{``0},TouchSocket.Core.MapperOption)">
            <summary>
            映射List
            </summary>
            <typeparam name="T"></typeparam>
            <typeparam name="T1"></typeparam>
            <param name="list"></param>
            <param name="option"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.Mapper.MapList``1(System.Collections.Generic.IEnumerable{System.Object},TouchSocket.Core.MapperOption)">
            <summary>
            映射List
            </summary>
            <typeparam name="T1"></typeparam>
            <param name="list"></param>
            <param name="option"></param>
            <returns></returns>
            <exception cref="T:System.ArgumentNullException"></exception>
        </member>
        <member name="T:TouchSocket.Core.MapperOption">
            <summary>
            映射配置
            </summary>
        </member>
        <member name="P:TouchSocket.Core.MapperOption.IgnoreProperties">
            <summary>
            需要忽略的属性名称
            </summary>
        </member>
        <member name="P:TouchSocket.Core.MapperOption.MapperProperties">
            <summary>
            映射属性名称
            </summary>
        </member>
        <member name="T:TouchSocket.Core.IPackage">
            <summary>
            包接口规范
            </summary>
        </member>
        <member name="M:TouchSocket.Core.IPackage.Package(TouchSocket.Core.ByteBlock@)">
            <summary>
            打包。
            <para>重写的话，约定基类方法必须先执行</para>
            </summary>
            <param name="byteBlock"></param>
        </member>
        <member name="M:TouchSocket.Core.IPackage.Unpackage(TouchSocket.Core.ByteBlock@)">
            <summary>
            解包。
            <para>重写的话，约定基类方法必须先执行</para>
            </summary>
            <param name="byteBlock"></param>
        </member>
        <member name="T:TouchSocket.Core.IReadonlyRouterPackage">
            <summary>
            只读的路由包接口
            </summary>
        </member>
        <member name="P:TouchSocket.Core.IReadonlyRouterPackage.Route">
            <summary>
            标识是否路由
            </summary>
        </member>
        <member name="P:TouchSocket.Core.IReadonlyRouterPackage.SourceId">
            <summary>
            源Id
            </summary>
        </member>
        <member name="P:TouchSocket.Core.IReadonlyRouterPackage.TargetId">
            <summary>
            目标Id
            </summary>
        </member>
        <member name="T:TouchSocket.Core.MsgPackage">
            <summary>
            消息包
            </summary>
        </member>
        <member name="P:TouchSocket.Core.MsgPackage.Message">
            <summary>
            消息
            </summary>
        </member>
        <member name="M:TouchSocket.Core.MsgPackage.Package(TouchSocket.Core.ByteBlock@)">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.MsgPackage.Unpackage(TouchSocket.Core.ByteBlock@)">
            <inheritdoc/>
        </member>
        <member name="T:TouchSocket.Core.MsgRouterPackage">
            <summary>
            可承载消息的路由包
            </summary>
        </member>
        <member name="P:TouchSocket.Core.MsgRouterPackage.Message">
            <summary>
            消息
            </summary>
        </member>
        <member name="M:TouchSocket.Core.MsgRouterPackage.PackageBody(TouchSocket.Core.ByteBlock@)">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.MsgRouterPackage.UnpackageBody(TouchSocket.Core.ByteBlock@)">
            <inheritdoc/>
        </member>
        <member name="T:TouchSocket.Core.PackageBase">
            <summary>
            PackageBase包结构数据。
            </summary>
        </member>
        <member name="M:TouchSocket.Core.PackageBase.Package(TouchSocket.Core.ByteBlock@)">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.PackageBase.Unpackage(TouchSocket.Core.ByteBlock@)">
            <inheritdoc/>
        </member>
        <member name="T:TouchSocket.Core.PackageExtensions">
            <summary>
            PackageExtensions
            </summary>
        </member>
        <member name="M:TouchSocket.Core.PackageExtensions.PackageAsBytes(TouchSocket.Core.PackageBase)">
            <summary>
            打包为字节
            </summary>
            <param name="packageBase"></param>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.RouterPackage">
            <summary>
            具有目标id和源id的路由包
            </summary>
        </member>
        <member name="P:TouchSocket.Core.RouterPackage.Route">
            <summary>
            标识是否路由
            </summary>
        </member>
        <member name="P:TouchSocket.Core.RouterPackage.SourceId">
            <summary>
            源Id
            </summary>
        </member>
        <member name="P:TouchSocket.Core.RouterPackage.TargetId">
            <summary>
            目标Id
            </summary>
        </member>
        <member name="M:TouchSocket.Core.RouterPackage.Package(TouchSocket.Core.ByteBlock@)">
            <summary>
            打包所有的路由包信息。顺序为：先调用<see cref="M:TouchSocket.Core.RouterPackage.PackageRouter(TouchSocket.Core.ByteBlock@)"/>，然后<see cref="M:TouchSocket.Core.RouterPackage.PackageBody(TouchSocket.Core.ByteBlock@)"/>
            </summary>
            <param name="byteBlock"></param>
        </member>
        <member name="M:TouchSocket.Core.RouterPackage.PackageBody(TouchSocket.Core.ByteBlock@)">
            <summary>
            打包数据体。一般不需要单独调用该方法。
            <para>重写的话，约定基类方法必须先执行</para>
            </summary>
            <param name="byteBlock"></param>
        </member>
        <member name="M:TouchSocket.Core.RouterPackage.PackageRouter(TouchSocket.Core.ByteBlock@)">
            <summary>
            打包路由。
            <para>重写的话，约定基类方法必须先执行</para>
            </summary>
            <param name="byteBlock"></param>
        </member>
        <member name="M:TouchSocket.Core.RouterPackage.SwitchId">
            <summary>
            转换目标和源的id。
            </summary>
        </member>
        <member name="M:TouchSocket.Core.RouterPackage.Unpackage(TouchSocket.Core.ByteBlock@)">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.RouterPackage.UnpackageBody(TouchSocket.Core.ByteBlock@)">
            <summary>
            解包数据体。一般不需要单独调用该方法。
            <para>重写的话，约定基类方法必须先执行</para>
            </summary>
            <param name="byteBlock"></param>
        </member>
        <member name="M:TouchSocket.Core.RouterPackage.UnpackageRouter(TouchSocket.Core.ByteBlock@)">
            <summary>
            只解包路由部分。一般不需要单独调用该方法。
            <para>重写的话，约定基类方法必须先执行</para>
            </summary>
            <param name="byteBlock"></param>
        </member>
        <member name="T:TouchSocket.Core.WaitPackage">
            <summary>
            WaitPackage
            </summary>
        </member>
        <member name="P:TouchSocket.Core.WaitPackage.Message">
            <summary>
            <inheritdoc/>
            </summary>
        </member>
        <member name="P:TouchSocket.Core.WaitPackage.Sign">
            <summary>
            <inheritdoc/>
            </summary>
        </member>
        <member name="P:TouchSocket.Core.WaitPackage.Status">
            <summary>
            <inheritdoc/>
            </summary>
        </member>
        <member name="M:TouchSocket.Core.WaitPackage.Package(TouchSocket.Core.ByteBlock@)">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.WaitPackage.Unpackage(TouchSocket.Core.ByteBlock@)">
            <inheritdoc/>
        </member>
        <member name="T:TouchSocket.Core.WaitRouterPackage">
            <summary>
            可等待的路由包。
            </summary>
        </member>
        <member name="P:TouchSocket.Core.WaitRouterPackage.Sign">
            <inheritdoc/>
        </member>
        <member name="P:TouchSocket.Core.WaitRouterPackage.Status">
            <inheritdoc/>
        </member>
        <member name="P:TouchSocket.Core.WaitRouterPackage.IncludedRouter">
            <summary>
            是否将<see cref="P:TouchSocket.Core.WaitRouterPackage.Sign"/>和<see cref="P:TouchSocket.Core.WaitRouterPackage.Status"/>等参数放置在Router中。
            </summary>
        </member>
        <member name="M:TouchSocket.Core.WaitRouterPackage.PackageBody(TouchSocket.Core.ByteBlock@)">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.WaitRouterPackage.PackageRouter(TouchSocket.Core.ByteBlock@)">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.WaitRouterPackage.UnpackageBody(TouchSocket.Core.ByteBlock@)">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.WaitRouterPackage.UnpackageRouter(TouchSocket.Core.ByteBlock@)">
            <inheritdoc/>
        </member>
        <member name="T:TouchSocket.Core.IPlugin">
            <summary>
            插件接口
            </summary>
        </member>
        <member name="M:TouchSocket.Core.IPlugin.Loaded(TouchSocket.Core.IPluginManager)">
            <summary>
            在插件被成功添加在<see cref="T:TouchSocket.Core.IPluginManager"/>时执行。
            </summary>
            <param name="pluginManager"></param>
        </member>
        <member name="T:TouchSocket.Core.IPluginManager">
            <summary>
            插件管理器接口
            </summary>
        </member>
        <member name="P:TouchSocket.Core.IPluginManager.Enable">
            <summary>
            标识该插件管理器是否可用。
            </summary>
        </member>
        <member name="M:TouchSocket.Core.IPluginManager.GetPluginCount(System.String)">
            <summary>
            获取已添加的指定名称的插件数量。
            </summary>
            <param name="name"></param>
            <returns></returns>
        </member>
        <member name="P:TouchSocket.Core.IPluginManager.Plugins">
            <summary>
            所包含的所有插件。
            </summary>
        </member>
        <member name="M:TouchSocket.Core.IPluginManager.Add(TouchSocket.Core.IPlugin)">
            <summary>
            添加插件
            </summary>
            <param name="plugin">插件</param>
            <exception cref="T:System.ArgumentNullException"></exception>
        </member>
        <member name="M:TouchSocket.Core.IPluginManager.Add(System.Type)">
            <summary>
            添加插件
            </summary>
            <param name="pluginType">插件类型</param>
        </member>
        <member name="M:TouchSocket.Core.IPluginManager.Add``1(System.Func{TouchSocket.Core.IResolver,``0})">
            <summary>
            添加插件
            </summary>
            <typeparam name="TPlugin"></typeparam>
            <param name="func"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.IPluginManager.Add(System.String,System.Func{System.Object,TouchSocket.Core.PluginEventArgs,System.Threading.Tasks.Task})">
            <summary>
            添加插件异步执行委托
            </summary>
            <param name="name"></param>
            <param name="func"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.IPluginManager.RaiseAsync(System.String,System.Object,TouchSocket.Core.PluginEventArgs)">
            <summary>
            触发对应插件
            </summary>
            <param name="name"></param>
            <param name="sender"></param>
            <param name="e"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.IPluginManager.Raise(System.String,System.Object,TouchSocket.Core.PluginEventArgs)">
            <summary>
            触发对应插件
            </summary>
            <param name="name"></param>
            <param name="sender"></param>
            <param name="e"></param>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.IPluginObject">
            <summary>
            具有插件功能的对象
            </summary>
        </member>
        <member name="P:TouchSocket.Core.IPluginObject.PluginManager">
            <summary>
            插件管理器
            </summary>
        </member>
        <member name="T:TouchSocket.Core.PluginBase">
            <summary>
            PluginBase
            </summary>
        </member>
        <member name="M:TouchSocket.Core.PluginBase.Loaded(TouchSocket.Core.IPluginManager)">
            <inheritdoc cref="M:TouchSocket.Core.IPlugin.Loaded(TouchSocket.Core.IPluginManager)"/>
        </member>
        <member name="P:TouchSocket.Core.PluginBase.PluginManager">
            <summary>
            插件管理器
            </summary>
        </member>
        <member name="T:TouchSocket.Core.PluginEventArgs">
            <summary>
            插件事件类
            </summary>
        </member>
        <member name="P:TouchSocket.Core.PluginEventArgs.State">
            <summary>
            由使用者自定义的状态对象。
            </summary>
        </member>
        <member name="P:TouchSocket.Core.PluginEventArgs.Count">
            <summary>
            执行的插件数量。
            </summary>
        </member>
        <member name="M:TouchSocket.Core.PluginEventArgs.InvokeNext">
            <summary>
            调用下一个插件。
            </summary>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.PluginManager">
            <summary>
            表示插件管理器。
            </summary>
        </member>
        <member name="M:TouchSocket.Core.PluginManager.#ctor(TouchSocket.Core.IResolver)">
            <summary>
            表示插件管理器
            </summary>
            <param name="resolver"></param>
        </member>
        <member name="P:TouchSocket.Core.PluginManager.Enable">
            <inheritdoc/>
        </member>
        <member name="P:TouchSocket.Core.PluginManager.Plugins">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.PluginManager.GetPluginCount(System.String)">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.PluginManager.Dispose(System.Boolean)">
            <inheritdoc/>
        </member>
        <member name="T:TouchSocket.Core.PluginManagerContainerExtension">
            <summary>
            PluginManagerContainerExtension
            </summary>
        </member>
        <member name="T:TouchSocket.Core.PluginManagerExtension">
            <summary>
            PluginManagerExtension
            </summary>
        </member>
        <member name="M:TouchSocket.Core.PluginManagerExtension.Add``1(TouchSocket.Core.IPluginManager)">
            <summary>
            添加插件
            </summary>
            <typeparam name="TPlugin">插件类型</typeparam>
            <returns>插件类型实例</returns>
        </member>
        <member name="M:TouchSocket.Core.PluginManagerExtension.Add``2(TouchSocket.Core.IPluginManager,System.String,System.Func{``0,``1,System.Threading.Tasks.Task})">
            <summary>
            添加插件委托
            </summary>
            <typeparam name="TSender"></typeparam>
            <typeparam name="TEventArgs"></typeparam>
            <param name="pluginManager"></param>
            <param name="name"></param>
            <param name="func"></param>
        </member>
        <member name="M:TouchSocket.Core.PluginManagerExtension.Add``1(TouchSocket.Core.IPluginManager,System.String,System.Func{``0,System.Threading.Tasks.Task})">
            <summary>
            添加插件委托
            </summary>
            <typeparam name="TEventArgs"></typeparam>
            <param name="pluginManager"></param>
            <param name="name"></param>
            <param name="func"></param>
        </member>
        <member name="M:TouchSocket.Core.PluginManagerExtension.Add(TouchSocket.Core.IPluginManager,System.String,System.Func{System.Threading.Tasks.Task})">
            <summary>
            添加插件委托
            </summary>
            <param name="pluginManager"></param>
            <param name="name"></param>
            <param name="func"></param>
        </member>
        <member name="M:TouchSocket.Core.PluginManagerExtension.Add``1(TouchSocket.Core.IPluginManager,System.String,System.Action{``0})">
            <summary>
            添加插件委托
            </summary>
            <param name="pluginManager"></param>
            <param name="name"></param>
            <param name="action"></param>
        </member>
        <member name="M:TouchSocket.Core.PluginManagerExtension.Add(TouchSocket.Core.IPluginManager,System.String,System.Action)">
            <summary>
            添加插件委托
            </summary>
            <param name="pluginManager"></param>
            <param name="name"></param>
            <param name="action"></param>
        </member>
        <member name="T:TouchSocket.Core.PluginOptionAttribute">
            <summary>
            插件配置。
            </summary>
        </member>
        <member name="P:TouchSocket.Core.PluginOptionAttribute.Singleton">
            <summary>
            标识该插件在一个<see cref="T:TouchSocket.Core.IPluginManager"/>中仅仅只会有一个实例。
            </summary>
        </member>
        <member name="T:TouchSocket.Core.ArrayPool`1">
            <summary>
            提供一个数组对象的池化容器。
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="M:TouchSocket.Core.ArrayPool`1.#ctor">
            <summary>
            提供一个数组对象的池化容器。
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ArrayPool`1.#ctor(System.Int32,System.Int32)">
            <summary>
            提供一个数组对象的池化容器。
            </summary>
            <param name="maxArrayLength"></param>
            <param name="maxArraysPerBucket"></param>
        </member>
        <member name="P:TouchSocket.Core.ArrayPool`1.Capacity">
            <summary>
            对象池的最大容量。
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ArrayPool`1.Clear">
            <summary>
            清理池中所有对象。
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ArrayPool`1.GetPoolSize">
            <summary>
            获取当前池中的所有对象。
            </summary>
            <returns></returns>
        </member>
        <member name="P:TouchSocket.Core.ArrayPool`1.MaxBucketsToTry">
            <summary>
            最大请求尺寸梯度。
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ArrayPool`1.Rent(System.Int32)">
            <summary>
            获取一个不小于指定尺寸的池化数组对象。
            </summary>
            <param name="minimumLength"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ArrayPool`1.Return(`0[],System.Boolean)">
            <summary>
            归还池化对象。
            </summary>
            <param name="array"></param>
            <param name="clearArray"></param>
        </member>
        <member name="M:TouchSocket.Core.ArrayPool`1.HitSize(System.Int32)">
            <summary>
            命中匹配尺寸
            </summary>
            <param name="size"></param>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.ByteBlock">
            <summary>
            字节块流
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.#ctor(System.Int32)">
            <summary>
             字节块流
            </summary>
            <param name="byteSize"></param>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.#ctor(System.Int32,TouchSocket.Core.BytePool)">
            <summary>
            字节块流
            </summary>
            <param name="byteSize"></param>
            <param name="bytePool"></param>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.#ctor(System.Byte[],System.Int32)">
            <summary>
            实例化一个已知内存的对象。且该内存不会被回收。
            </summary>
            <param name="bytes"></param>
            <param name="length"></param>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.#ctor(System.Byte[])">
            <summary>
            实例化一个已知内存的对象。且该内存不会被回收。
            </summary>
            <param name="bytes"></param>
        </member>
        <member name="P:TouchSocket.Core.ByteBlock.Buffer">
            <summary>
            字节实例
            </summary>
        </member>
        <member name="P:TouchSocket.Core.ByteBlock.CanRead">
            <summary>
            仅当内存块可用，且<see cref="P:TouchSocket.Core.ByteBlock.CanReadLen"/>>0时为True。
            </summary>
        </member>
        <member name="P:TouchSocket.Core.ByteBlock.CanReadLen">
            <summary>
            还能读取的长度，计算为<see cref="P:TouchSocket.Core.ByteBlock.Len"/>与<see cref="P:TouchSocket.Core.ByteBlock.Pos"/>的差值。
            </summary>
        </member>
        <member name="P:TouchSocket.Core.ByteBlock.CanReadLength">
            <summary>
            还能读取的长度，计算为<see cref="P:TouchSocket.Core.ByteBlock.Len"/>与<see cref="P:TouchSocket.Core.ByteBlock.Pos"/>的差值。
            </summary>
        </member>
        <member name="P:TouchSocket.Core.ByteBlock.CanSeek">
            <summary>
            支持查找
            </summary>
        </member>
        <member name="P:TouchSocket.Core.ByteBlock.CanWrite">
            <summary>
            可写入
            </summary>
        </member>
        <member name="P:TouchSocket.Core.ByteBlock.Capacity">
            <summary>
            容量
            </summary>
        </member>
        <member name="P:TouchSocket.Core.ByteBlock.FreeLength">
            <summary>
            空闲长度，准确掌握该值，可以避免内存扩展，计算为<see cref="P:TouchSocket.Core.ByteBlock.Capacity"/>与<see cref="P:TouchSocket.Core.ByteBlock.Pos"/>的差值。
            </summary>
        </member>
        <member name="P:TouchSocket.Core.ByteBlock.Holding">
            <summary>
            表示持续性持有，为True时，Dispose将调用无效。
            </summary>
        </member>
        <member name="P:TouchSocket.Core.ByteBlock.Len">
            <summary>
            Int真实长度
            </summary>
        </member>
        <member name="P:TouchSocket.Core.ByteBlock.Length">
            <summary>
            真实长度
            </summary>
        </member>
        <member name="P:TouchSocket.Core.ByteBlock.Pos">
            <summary>
            int型流位置
            </summary>
        </member>
        <member name="P:TouchSocket.Core.ByteBlock.Position">
            <summary>
            流位置
            </summary>
        </member>
        <member name="P:TouchSocket.Core.ByteBlock.Using">
            <summary>
            使用状态
            </summary>
        </member>
        <member name="P:TouchSocket.Core.ByteBlock.Item(System.Int32)">
            <summary>
            返回或设置索引对应的值。
            </summary>
            <param name="index"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.AbsoluteDispose">
            <summary>
            直接完全释放，游离该对象，然后等待GC
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.Clear">
            <summary>
            清空所有内存数据
            </summary>
            <exception cref="T:System.ObjectDisposedException">内存块已释放</exception>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.Flush">
            <summary>
            无实际效果
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.Read(TouchSocket.Core.ByteBlock@,System.Int32)">
            <summary>
            读取数据，然后递增Pos
            </summary>
            <param name="byteBlock"></param>
            <param name="length"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.Read(System.Byte[],System.Int32,System.Int32)">
            <summary>
            读取数据，然后递增Pos
            </summary>
            <param name="buffer"></param>
            <param name="offset"></param>
            <param name="length"></param>
            <returns></returns>
            <exception cref="T:System.ObjectDisposedException"></exception>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.Read(System.Byte[])">
            <summary>
            读取数据，然后递增Pos
            </summary>
            <param name="buffer"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.Read(System.Byte[]@,System.Int32)">
            <summary>
            读取数据，然后递增Pos
            </summary>
            <param name="buffer"></param>
            <param name="length"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ReadByte">
            <summary>
            从当前流位置读取一个<see cref="T:System.Byte"/>值
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ReadToArray(System.Int32)">
            <summary>
            从当前位置读取指定长度的数组。并递增<see cref="P:TouchSocket.Core.ByteBlock.Position"/>
            </summary>
            <param name="length"></param>
            <returns></returns>
            <exception cref="T:System.ArgumentOutOfRangeException"></exception>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.Reset">
            <summary>
            将内存块初始化到刚申请的状态。
            <para>仅仅重置<see cref="P:TouchSocket.Core.ByteBlock.Position"/>和<see cref="P:TouchSocket.Core.ByteBlock.Length"/>属性。</para>
            </summary>
            <exception cref="T:System.ObjectDisposedException">内存块已释放</exception>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.Seek(System.Int64,System.IO.SeekOrigin)">
            <summary>
            设置流位置
            </summary>
            <param name="offset"></param>
            <param name="origin"></param>
            <returns></returns>
            <exception cref="T:System.ObjectDisposedException"></exception>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.Seek(System.Int32)">
            <summary>
            移动游标
            </summary>
            <param name="position"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.SeekToEnd">
            <summary>
            设置游标到末位
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.SeekToStart">
            <summary>
            设置游标到首位
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.SetCapacity(System.Int32,System.Boolean)">
            <summary>
            重新设置容量
            </summary>
            <param name="size">新尺寸</param>
            <param name="retainedData">是否保留原数据</param>
            <exception cref="T:System.ObjectDisposedException"></exception>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.SetHolding(System.Boolean)">
            <summary>
            设置持续持有属性，当为True时，调用Dispose会失效，表示该对象将长期持有，直至设置为False。
            当为False时，会自动调用Dispose。
            </summary>
            <param name="holding"></param>
            <exception cref="T:System.ObjectDisposedException"></exception>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.SetLength(System.Int64)">
            <summary>
            设置实际长度
            </summary>
            <param name="value"></param>
            <exception cref="T:System.ObjectDisposedException"></exception>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ToArray(System.Int32,System.Int32)">
            <summary>
            从指定位置转化到指定长度的有效内存。本操作不递增<see cref="P:TouchSocket.Core.ByteBlock.Position"/>
            </summary>
            <param name="offset"></param>
            <param name="length"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ToArray">
            <summary>
            转换为有效内存。本操作不递增<see cref="P:TouchSocket.Core.ByteBlock.Position"/>
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ToArray(System.Int32)">
            <summary>
            从指定位置转为有效内存。本操作不递增<see cref="P:TouchSocket.Core.ByteBlock.Position"/>
            </summary>
            <param name="offset"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ToArrayTake(System.Int32)">
            <summary>
            将当前<see cref="P:TouchSocket.Core.ByteBlock.Position"/>至指定长度转化为有效内存。本操作不递增<see cref="P:TouchSocket.Core.ByteBlock.Position"/>
            </summary>
            <param name="length"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ToString">
            <summary>
            从指定位置转化到有效内存
            </summary>
            <summary>
            转换为UTF-8字符
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ToString(System.Int32,System.Int32)">
            <summary>
            转换为UTF-8字符
            </summary>
            <param name="offset">偏移量</param>
            <param name="length">长度</param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ToString(System.Int32)">
            <summary>
            转换为UTF-8字符
            </summary>
            <param name="offset">偏移量</param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.Write(TouchSocket.Core.ByteBlock)">
            <summary>
            将<see cref="T:TouchSocket.Core.ByteBlock"/>中的有效数据写入到当前
            </summary>
            <param name="byteBlock"></param>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.Write(System.Byte[],System.Int32,System.Int32)">
            <summary>
            写入
            </summary>
            <param name="buffer"></param>
            <param name="offset"></param>
            <param name="count"></param>
            <exception cref="T:System.ObjectDisposedException"></exception>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.Write(System.Byte[])">
            <summary>
            <inheritdoc/>
            </summary>
            <param name="buffer"></param>
            <exception cref="T:System.NotImplementedException"></exception>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.Dispose(System.Boolean)">
            <summary>
            <inheritdoc/>
            </summary>
            <param name="disposing"></param>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ReadBytesPackage">
            <summary>
            从当前流位置读取一个独立的<see cref="T:System.Byte"/>数组包
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.TryReadBytesPackageInfo(System.Int32@,System.Int32@)">
            <summary>
            尝试获取数据包信息，方便从Buffer操作数据
            </summary>
            <param name="pos"></param>
            <param name="len"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.WriteBytesPackage(System.Byte[],System.Int32,System.Int32)">
            <summary>
            写入一个独立的<see cref="T:System.Byte"/>数组包，值可以为null。
            </summary>
            <param name="value"></param>
            <param name="offset"></param>
            <param name="length"></param>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.WriteBytesPackage(System.Byte[])">
            <summary>
            写入一个独立的<see cref="T:System.Byte"/>数组包。值可以为null。
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ReadByteBlock">
            <summary>
            从当前流位置读取一个<see cref="T:TouchSocket.Core.ByteBlock"/>值。
            <para>
            注意，使用该方式读取到的内存块，会脱离释放周期，所以最好在使用完成后自行释放。
            </para>
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.WriteByteBlock(TouchSocket.Core.ByteBlock)">
            <summary>
            写入<see cref="T:TouchSocket.Core.ByteBlock"/>值
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ReadInt32">
            <summary>
            从当前流位置读取一个默认端序的<see cref="T:System.Int32"/>值
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ReadInt32(TouchSocket.Core.EndianType)">
            <summary>
            从当前流位置读取一个指定端序的<see cref="T:System.Int32"/>值
            </summary>
            <param name="endianType"></param>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ToInt32s">
            <summary>
            将当前有效内存转为默认端序的<see cref="T:System.Int32"/>集合。
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ToInt32s(TouchSocket.Core.EndianType)">
            <summary>
            将当前有效内存转为指定端序的<see cref="T:System.Int32"/>集合。
            </summary>
            <param name="endianType"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ReadInt16">
            <summary>
            从当前流位置读取一个默认端序的<see cref="T:System.Int16"/>值
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ReadInt16(TouchSocket.Core.EndianType)">
            <summary>
            从当前流位置读取一个<see cref="T:System.Int16"/>值
            </summary>
            <param name="endianType">指定端序</param>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ToInt16s">
            <summary>
            将当前有效内存转为默认端序的<see cref="T:System.Int16"/>集合。
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ToInt16s(TouchSocket.Core.EndianType)">
            <summary>
            将当前有效内存转为指定端序的<see cref="T:System.Int16"/>集合。
            </summary>
            <param name="endianType"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ReadInt64">
            <summary>
            从当前流位置读取一个默认端序的<see cref="T:System.Int64"/>值
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ReadInt64(TouchSocket.Core.EndianType)">
            <summary>
            从当前流位置读取一个<see cref="T:System.Int64"/>值
            </summary>
            <param name="endianType">指定端序</param>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ToInt64s">
            <summary>
            将当前有效内存转为默认端序的<see cref="T:System.Int64"/>集合。
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ToInt64s(TouchSocket.Core.EndianType)">
            <summary>
            将当前有效内存转为指定端序的<see cref="T:System.Int64"/>集合。
            </summary>
            <param name="endianType"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ReadBoolean">
            <summary>
            从当前流位置读取1个<see cref="T:System.Boolean"/>值
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ReadBooleans">
            <summary>
            从当前流位置读取1个字节，按位解析为bool值数组。
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ToBoolensFromBit">
            <summary>
            将当前有效内存按位转为<see cref="T:System.Boolean"/>集合。
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ToBoolensFromByte">
            <summary>
            将当前有效内存按字节转为<see cref="T:System.Boolean"/>集合。
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ReadString">
            <summary>
            从当前流位置读取一个<see cref="T:System.String"/>值
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.Write(System.String)">
            <summary>
            写入<see cref="T:System.String"/>值。值可以为null，或者空。
            <para>注意：该操作不具备通用性，读取时必须使用ReadString。或者得先做出判断，由默认端序的int32值标识，具体如下：</para>
            <list type="bullet">
            <item>小于0，表示字符串为null</item>
            <item>等于0，表示字符串为""</item>
            <item>大于0，表示字符串在utf-8编码下的字节长度。</item>
            </list>
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.WriteString(System.String,System.Text.Encoding)">
            <summary>
            写入<see cref="T:System.String"/>值。值必须为有效值。可通用解析。
            </summary>
            <param name="value"></param>
            <param name="encoding"></param>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ReadChar">
            <summary>
            从当前流位置读取一个默认端序的<see cref="T:System.Char"/>值
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ReadChar(TouchSocket.Core.EndianType)">
            <summary>
            从当前流位置读取一个<see cref="T:System.Char"/>值
            </summary>
            <param name="endianType">指定端序</param>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ToChars">
            <summary>
            将当前有效内存转为默认端序的<see cref="T:System.Char"/>集合。
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ToChars(TouchSocket.Core.EndianType)">
            <summary>
            将当前有效内存转为指定端序的<see cref="T:System.Char"/>集合。
            </summary>
            <param name="endianType"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ReadDouble">
            <summary>
            从当前流位置读取一个默认端序的<see cref="T:System.Double"/>值
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ReadDouble(TouchSocket.Core.EndianType)">
            <summary>
            从当前流位置读取一个<see cref="T:System.Double"/>值
            </summary>
            <param name="endianType">指定端序</param>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ToDoubles">
            <summary>
            将当前有效内存转为默认端序的<see cref="T:System.Double"/>集合。
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ToDoubles(TouchSocket.Core.EndianType)">
            <summary>
            将当前有效内存转为指定端序的<see cref="T:System.Double"/>集合。
            </summary>
            <param name="endianType"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ReadFloat">
            <summary>
            从当前流位置读取一个默认端序的<see cref="T:System.Single"/>值
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ReadFloat(TouchSocket.Core.EndianType)">
            <summary>
            从当前流位置读取一个<see cref="T:System.Single"/>值
            </summary>
            <param name="endianType">指定端序</param>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ToFloats">
            <summary>
            将当前有效内存转为默认端序的<see cref="T:System.Single"/>集合。
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ToFloats(TouchSocket.Core.EndianType)">
            <summary>
            将当前有效内存转为指定端序的<see cref="T:System.Single"/>集合。
            </summary>
            <param name="endianType"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ReadUInt16">
            <summary>
            从当前流位置读取一个默认端序的<see cref="T:System.UInt16"/>值
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ReadUInt16(TouchSocket.Core.EndianType)">
            <summary>
            从当前流位置读取一个<see cref="T:System.UInt16"/>值
            </summary>
            <param name="endianType">指定端序</param>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ToUInt16s">
            <summary>
            将当前有效内存转为默认端序的<see cref="T:System.UInt16"/>集合。
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ToUInt16s(TouchSocket.Core.EndianType)">
            <summary>
            将当前有效内存转为指定端序的<see cref="T:System.UInt16"/>集合。
            </summary>
            <param name="endianType"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ReadUInt32">
            <summary>
            从当前流位置读取一个默认端序的<see cref="T:System.UInt32"/>值
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ReadUInt32(TouchSocket.Core.EndianType)">
            <summary>
            从当前流位置读取一个<see cref="T:System.UInt32"/>值
            </summary>
            <param name="endianType">指定端序</param>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ToUInt32s">
            <summary>
            将当前有效内存转为默认端序的<see cref="T:System.UInt32"/>集合。
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ToUInt32s(TouchSocket.Core.EndianType)">
            <summary>
            将当前有效内存转为指定端序的<see cref="T:System.UInt32"/>集合。
            </summary>
            <param name="endianType"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ReadUInt64">
            <summary>
            从当前流位置读取一个默认端序的<see cref="T:System.UInt64"/>值
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ReadUInt64(TouchSocket.Core.EndianType)">
            <summary>
            从当前流位置读取一个<see cref="T:System.UInt64"/>值
            </summary>
            <param name="endianType">指定端序</param>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ToUInt64s">
            <summary>
            将当前有效内存转为默认端序的<see cref="T:System.UInt64"/>集合。
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ToUInt64s(TouchSocket.Core.EndianType)">
            <summary>
            将当前有效内存转为指定端序的<see cref="T:System.UInt64"/>集合。
            </summary>
            <param name="endianType"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ReadDecimal">
            <summary>
            从当前流位置读取一个默认端序的<see cref="T:System.Decimal"/>值
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ReadDecimal(TouchSocket.Core.EndianType)">
            <summary>
            从当前流位置读取一个<see cref="T:System.Decimal"/>值
            </summary>
            <param name="endianType">指定端序</param>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ToDecimals">
            <summary>
            将当前有效内存转为默认端序的<see cref="T:System.Decimal"/>集合。
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ToDecimals(TouchSocket.Core.EndianType)">
            <summary>
            将当前有效内存转为指定端序的<see cref="T:System.Decimal"/>集合。
            </summary>
            <param name="endianType"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ReadIsNull">
            <summary>
            从当前流位置读取一个标识值，判断是否为null。
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.WriteIsNull``1(``0)">
            <summary>
            判断该值是否为Null，然后写入标识值
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.WriteIsNull``1(System.Nullable{``0})">
            <summary>
            判断该值是否为Null，然后写入标识值
            </summary>
            <typeparam name="T"></typeparam>
            <param name="t"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.WriteNotNull">
            <summary>
            写入一个标识非Null值
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.WriteNull">
            <summary>
            写入一个标识Null值
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ReadDateTime">
            <summary>
            从当前流位置读取一个<see cref="T:System.DateTime"/>值
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ToDateTimes">
            <summary>
            将当前有效内存转为<see cref="T:System.DateTime"/>集合。
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ReadTimeSpan">
            <summary>
            从当前流位置读取一个<see cref="T:System.TimeSpan"/>值
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ToTimeSpans">
            <summary>
            将当前有效内存转为<see cref="T:System.TimeSpan"/>集合。
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ReadObject``1(TouchSocket.Core.SerializationType)">
            <summary>
             从当前流位置读取一个泛型值
            </summary>
            <typeparam name="T"></typeparam>
            <param name="serializationType"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.WriteObject(System.Object,TouchSocket.Core.SerializationType)">
            <summary>
            写入<see cref="T:System.Object"/>值
            </summary>
            <param name="value"></param>
            <param name="serializationType"></param>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.ReadPackage``1">
            <summary>
            读取一个指定类型的包
            </summary>
            <typeparam name="TPackage"></typeparam>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.WritePackage``1(``0)">
            <summary>
            以包进行写入。允许null值。
            读取时调用<see cref="M:TouchSocket.Core.ByteBlock.ReadPackage``1"/>，解包。或者先判断<see cref="M:TouchSocket.Core.ByteBlock.ReadIsNull"/>，然后自行解包。
            </summary>
            <typeparam name="TPackage"></typeparam>
            <param name="package"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.GetEnumerator">
            <summary>
            <inheritdoc/>
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.op_Implicit(TouchSocket.Core.ByteBlock)~System.ArraySegment{System.Byte}">
            <summary>
            将<see cref="T:TouchSocket.Core.ByteBlock"/>转为<see cref="T:System.ArraySegment`1"/>。
            <para>注意：实际上是产生了一个新的内存。</para>
            </summary>
            <param name="byteBlock"></param>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.op_Implicit(TouchSocket.Core.ByteBlock)~System.Byte[]">
            <summary>
            将<see cref="T:TouchSocket.Core.ByteBlock"/>转为<see cref="T:System.Byte"/>数组。
            <para>注意：实际上是产生了一个新的内存。</para>
            </summary>
            <param name="byteBlock"></param>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.Write(System.Int32)">
            <summary>
            写入默认端序的<see cref="T:System.Int32"/>值
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.Write(System.Int32,TouchSocket.Core.EndianType)">
            <summary>
            写入指定端序的<see cref="T:System.Int32"/>值
            </summary>
            <param name="value"></param>
            <param name="endianType">指定端序</param>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.Write(System.Int16)">
            <summary>
            写入默认端序的<see cref="T:System.Int16"/>值
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.Write(System.Int16,TouchSocket.Core.EndianType)">
            <summary>
            写入<see cref="T:System.Int16"/>值
            </summary>
            <param name="value"></param>
            <param name="endianType">指定端序</param>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.Write(System.Int64)">
            <summary>
            写入默认端序的<see cref="T:System.Int64"/>值
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.Write(System.Int64,TouchSocket.Core.EndianType)">
            <summary>
            写入<see cref="T:System.Int64"/>值
            </summary>
            <param name="value"></param>
            <param name="endianType">指定端序</param>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.Write(System.Boolean)">
            <summary>
            写入<see cref="T:System.Boolean"/>值
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.Write(System.Boolean[])">
            <summary>
            写入bool数组。
            </summary>
            <param name="values"></param>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.Write(System.Byte)">
            <summary>
            写入<see cref="T:System.Byte"/>值
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.Write(System.Char)">
            <summary>
            写入默认端序的<see cref="T:System.Char"/>值
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.Write(System.Char,TouchSocket.Core.EndianType)">
            <summary>
            写入<see cref="T:System.Char"/>值
            </summary>
            <param name="value"></param>
            <param name="endianType">指定端序</param>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.Write(System.Double)">
            <summary>
            写入默认端序的<see cref="T:System.Double"/>值
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.Write(System.Double,TouchSocket.Core.EndianType)">
            <summary>
            写入<see cref="T:System.Double"/>值
            </summary>
            <param name="value"></param>
            <param name="endianType">指定端序</param>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.Write(System.Single)">
            <summary>
            写入默认端序的<see cref="T:System.Single"/>值
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.Write(System.Single,TouchSocket.Core.EndianType)">
            <summary>
            写入<see cref="T:System.Single"/>值
            </summary>
            <param name="value"></param>
            <param name="endianType">指定端序</param>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.Write(System.UInt16)">
            <summary>
            写入默认端序的<see cref="T:System.UInt16"/>值
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.Write(System.UInt16,TouchSocket.Core.EndianType)">
            <summary>
            写入<see cref="T:System.UInt16"/>值
            </summary>
            <param name="value"></param>
            <param name="endianType">指定端序</param>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.Write(System.UInt32)">
            <summary>
            写入默认端序的<see cref="T:System.UInt32"/>值
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.Write(System.UInt32,TouchSocket.Core.EndianType)">
            <summary>
            写入<see cref="T:System.UInt32"/>值
            </summary>
            <param name="value"></param>
            <param name="endianType">指定端序</param>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.Write(System.UInt64)">
            <summary>
            写入默认端序的<see cref="T:System.UInt64"/>值
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.Write(System.UInt64,TouchSocket.Core.EndianType)">
            <summary>
            写入<see cref="T:System.UInt64"/>值
            </summary>
            <param name="value"></param>
            <param name="endianType">指定端序</param>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.Write(System.Decimal)">
            <summary>
            写入默认端序的<see cref="T:System.Decimal"/>值
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.Write(System.Decimal,TouchSocket.Core.EndianType)">
            <summary>
            写入<see cref="T:System.Decimal"/>值
            </summary>
            <param name="value"></param>
            <param name="endianType">指定端序</param>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.Write(System.DateTime)">
            <summary>
            写入<see cref="T:System.DateTime"/>值
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:TouchSocket.Core.ByteBlock.Write(System.TimeSpan)">
            <summary>
            写入<see cref="T:System.TimeSpan"/>值
            </summary>
            <param name="value"></param>
        </member>
        <member name="T:TouchSocket.Core.BytePool">
            <summary>
            内存池
            </summary>
        </member>
        <member name="M:TouchSocket.Core.BytePool.#ctor">
            <summary>
            内存池
            </summary>
        </member>
        <member name="M:TouchSocket.Core.BytePool.#ctor(System.Int32,System.Int32)">
            <summary>
            内存池
            </summary>
            <param name="maxArrayLength"></param>
            <param name="maxArraysPerBucket"></param>
        </member>
        <member name="P:TouchSocket.Core.BytePool.Default">
            <summary>
            默认的内存池实例
            </summary>
        </member>
        <member name="M:TouchSocket.Core.BytePool.SetDefault(TouchSocket.Core.BytePool)">
            <summary>
            设置默认内存池实例。
            </summary>
            <param name="bytePool"></param>
        </member>
        <member name="P:TouchSocket.Core.BytePool.AutoZero">
            <summary>
            回收内存时，自动归零
            </summary>
        </member>
        <member name="P:TouchSocket.Core.BytePool.MaxBlockSize">
            <summary>
            单个块最大值
            </summary>
        </member>
        <member name="M:TouchSocket.Core.BytePool.GetByteBlock(System.Int32)">
            <summary>
            获取ByteBlock
            </summary>
            <param name="byteSize">长度</param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.BytePool.GetValueByteBlock(System.Int32)">
            <summary>
             获取ValueByteBlock
            </summary>
            <param name="byteSize"></param>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.ValueByteBlock">
            <summary>
            字节块流
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.#ctor(System.Int32)">
            <summary>
             字节块流
            </summary>
            <param name="byteSize"></param>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.#ctor(System.Int32,TouchSocket.Core.BytePool)">
            <summary>
            字节块流
            </summary>
            <param name="byteSize"></param>
            <param name="bytePool"></param>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.#ctor(System.Byte[],System.Int32)">
            <summary>
            实例化一个已知内存的对象。且该内存不会被回收。
            </summary>
            <param name="bytes"></param>
            <param name="length"></param>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.#ctor(System.Byte[])">
            <summary>
            实例化一个已知内存的对象。且该内存不会被回收。
            </summary>
            <param name="bytes"></param>
        </member>
        <member name="P:TouchSocket.Core.ValueByteBlock.Buffer">
            <summary>
            字节实例
            </summary>
        </member>
        <member name="P:TouchSocket.Core.ValueByteBlock.CanRead">
            <summary>
            仅当内存块可用，且<see cref="P:TouchSocket.Core.ValueByteBlock.CanReadLen"/>>0时为True。
            </summary>
        </member>
        <member name="P:TouchSocket.Core.ValueByteBlock.CanReadLen">
            <summary>
            还能读取的长度，计算为<see cref="P:TouchSocket.Core.ValueByteBlock.Len"/>与<see cref="P:TouchSocket.Core.ValueByteBlock.Pos"/>的差值。
            </summary>
        </member>
        <member name="P:TouchSocket.Core.ValueByteBlock.CanReadLength">
            <summary>
            还能读取的长度，计算为<see cref="P:TouchSocket.Core.ValueByteBlock.Len"/>与<see cref="P:TouchSocket.Core.ValueByteBlock.Pos"/>的差值。
            </summary>
        </member>
        <member name="P:TouchSocket.Core.ValueByteBlock.CanSeek">
            <summary>
            支持查找
            </summary>
        </member>
        <member name="P:TouchSocket.Core.ValueByteBlock.CanWrite">
            <summary>
            可写入
            </summary>
        </member>
        <member name="P:TouchSocket.Core.ValueByteBlock.Capacity">
            <summary>
            容量
            </summary>
        </member>
        <member name="P:TouchSocket.Core.ValueByteBlock.FreeLength">
            <summary>
            空闲长度，准确掌握该值，可以避免内存扩展，计算为<see cref="P:TouchSocket.Core.ValueByteBlock.Capacity"/>与<see cref="P:TouchSocket.Core.ValueByteBlock.Pos"/>的差值。
            </summary>
        </member>
        <member name="P:TouchSocket.Core.ValueByteBlock.Holding">
            <summary>
            表示持续性持有，为True时，Dispose将调用无效。
            </summary>
        </member>
        <member name="P:TouchSocket.Core.ValueByteBlock.Len">
            <summary>
            Int真实长度
            </summary>
        </member>
        <member name="P:TouchSocket.Core.ValueByteBlock.Length">
            <summary>
            真实长度
            </summary>
        </member>
        <member name="P:TouchSocket.Core.ValueByteBlock.Pos">
            <summary>
            int型流位置
            </summary>
        </member>
        <member name="P:TouchSocket.Core.ValueByteBlock.Position">
            <summary>
            流位置
            </summary>
        </member>
        <member name="P:TouchSocket.Core.ValueByteBlock.Using">
            <summary>
            使用状态
            </summary>
        </member>
        <member name="P:TouchSocket.Core.ValueByteBlock.Item(System.Int32)">
            <summary>
            返回或设置索引对应的值。
            </summary>
            <param name="index"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.AbsoluteDispose">
            <summary>
            直接完全释放，游离该对象，然后等待GC
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.Clear">
            <summary>
            清空所有内存数据
            </summary>
            <exception cref="T:System.ObjectDisposedException">内存块已释放</exception>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.Flush">
            <summary>
            无实际效果
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.Read(TouchSocket.Core.ValueByteBlock@,System.Int32)">
            <summary>
            读取数据，然后递增Pos
            </summary>
            <param name="byteBlock"></param>
            <param name="length"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.Read(System.Byte[],System.Int32,System.Int32)">
            <summary>
            读取数据，然后递增Pos
            </summary>
            <param name="buffer"></param>
            <param name="offset"></param>
            <param name="length"></param>
            <returns></returns>
            <exception cref="T:System.ObjectDisposedException"></exception>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.Read(System.Byte[])">
            <summary>
            读取数据，然后递增Pos
            </summary>
            <param name="buffer"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.Read(System.Byte[]@,System.Int32)">
            <summary>
            读取数据，然后递增Pos
            </summary>
            <param name="buffer"></param>
            <param name="length"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ReadByte">
            <summary>
            从当前流位置读取一个<see cref="T:System.Byte"/>值
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ReadToArray(System.Int32)">
            <summary>
            从当前位置读取指定长度的数组。并递增<see cref="P:TouchSocket.Core.ValueByteBlock.Position"/>
            </summary>
            <param name="length"></param>
            <returns></returns>
            <exception cref="T:System.ArgumentOutOfRangeException"></exception>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.Reset">
            <summary>
            将内存块初始化到刚申请的状态。
            <para>仅仅重置<see cref="P:TouchSocket.Core.ValueByteBlock.Position"/>和<see cref="P:TouchSocket.Core.ValueByteBlock.Length"/>属性。</para>
            </summary>
            <exception cref="T:System.ObjectDisposedException">内存块已释放</exception>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.Seek(System.Int64,System.IO.SeekOrigin)">
            <summary>
            设置流位置
            </summary>
            <param name="offset"></param>
            <param name="origin"></param>
            <returns></returns>
            <exception cref="T:System.ObjectDisposedException"></exception>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.Seek(System.Int32)">
            <summary>
            移动游标
            </summary>
            <param name="position"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.SeekToEnd">
            <summary>
            设置游标到末位
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.SeekToStart">
            <summary>
            设置游标到首位
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.SetCapacity(System.Int32,System.Boolean)">
            <summary>
            重新设置容量
            </summary>
            <param name="size">新尺寸</param>
            <param name="retainedData">是否保留原数据</param>
            <exception cref="T:System.ObjectDisposedException"></exception>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.SetHolding(System.Boolean)">
            <summary>
            设置持续持有属性，当为True时，调用Dispose会失效，表示该对象将长期持有，直至设置为False。
            当为False时，会自动调用Dispose。
            </summary>
            <param name="holding"></param>
            <exception cref="T:System.ObjectDisposedException"></exception>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.SetLength(System.Int64)">
            <summary>
            设置实际长度
            </summary>
            <param name="value"></param>
            <exception cref="T:System.ObjectDisposedException"></exception>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ToArray(System.Int32,System.Int32)">
            <summary>
            从指定位置转化到指定长度的有效内存。本操作不递增<see cref="P:TouchSocket.Core.ValueByteBlock.Position"/>
            </summary>
            <param name="offset"></param>
            <param name="length"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ToArray">
            <summary>
            转换为有效内存。本操作不递增<see cref="P:TouchSocket.Core.ValueByteBlock.Position"/>
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ToArray(System.Int32)">
            <summary>
            从指定位置转为有效内存。本操作不递增<see cref="P:TouchSocket.Core.ValueByteBlock.Position"/>
            </summary>
            <param name="offset"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ToArrayTake(System.Int32)">
            <summary>
            将当前<see cref="P:TouchSocket.Core.ValueByteBlock.Position"/>至指定长度转化为有效内存。本操作不递增<see cref="P:TouchSocket.Core.ValueByteBlock.Position"/>
            </summary>
            <param name="length"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ToString">
            <summary>
            从指定位置转化到有效内存
            </summary>
            <summary>
            转换为UTF-8字符
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ToString(System.Int32,System.Int32)">
            <summary>
            转换为UTF-8字符
            </summary>
            <param name="offset">偏移量</param>
            <param name="length">长度</param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ToString(System.Int32)">
            <summary>
            转换为UTF-8字符
            </summary>
            <param name="offset">偏移量</param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.Write(TouchSocket.Core.ValueByteBlock)">
            <summary>
            将<see cref="T:TouchSocket.Core.ByteBlock"/>中的有效数据写入到当前
            </summary>
            <param name="byteBlock"></param>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.Write(System.Byte[],System.Int32,System.Int32)">
            <summary>
            写入
            </summary>
            <param name="buffer"></param>
            <param name="offset"></param>
            <param name="count"></param>
            <exception cref="T:System.ObjectDisposedException"></exception>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.Write(System.Byte[])">
            <summary>
            <inheritdoc/>
            </summary>
            <param name="buffer"></param>
            <exception cref="T:System.NotImplementedException"></exception>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.Dispose">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ReadBytesPackage">
            <summary>
            从当前流位置读取一个独立的<see cref="T:System.Byte"/>数组包
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.TryReadBytesPackageInfo(System.Int32@,System.Int32@)">
            <summary>
            尝试获取数据包信息，方便从Buffer操作数据
            </summary>
            <param name="pos"></param>
            <param name="len"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.WriteBytesPackage(System.Byte[],System.Int32,System.Int32)">
            <summary>
            写入一个独立的<see cref="T:System.Byte"/>数组包，值可以为null。
            </summary>
            <param name="value"></param>
            <param name="offset"></param>
            <param name="length"></param>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.WriteBytesPackage(System.Byte[])">
            <summary>
            写入一个独立的<see cref="T:System.Byte"/>数组包。值可以为null。
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ReadByteBlock">
            <summary>
            从当前流位置读取一个<see cref="T:TouchSocket.Core.ByteBlock"/>值。
            <para>
            注意，使用该方式读取到的内存块，会脱离释放周期，所以最好在使用完成后自行释放。
            </para>
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.WriteByteBlock(TouchSocket.Core.ValueByteBlock)">
            <summary>
            写入<see cref="T:TouchSocket.Core.ByteBlock"/>值
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ReadInt32">
            <summary>
            从当前流位置读取一个默认端序的<see cref="T:System.Int32"/>值
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ReadInt32(TouchSocket.Core.EndianType)">
            <summary>
            从当前流位置读取一个指定端序的<see cref="T:System.Int32"/>值
            </summary>
            <param name="endianType"></param>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ToInt32s">
            <summary>
            将当前有效内存转为默认端序的<see cref="T:System.Int32"/>集合。
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ToInt32s(TouchSocket.Core.EndianType)">
            <summary>
            将当前有效内存转为指定端序的<see cref="T:System.Int32"/>集合。
            </summary>
            <param name="endianType"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ReadInt16">
            <summary>
            从当前流位置读取一个默认端序的<see cref="T:System.Int16"/>值
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ReadInt16(TouchSocket.Core.EndianType)">
            <summary>
            从当前流位置读取一个<see cref="T:System.Int16"/>值
            </summary>
            <param name="endianType">指定端序</param>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ToInt16s">
            <summary>
            将当前有效内存转为默认端序的<see cref="T:System.Int16"/>集合。
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ToInt16s(TouchSocket.Core.EndianType)">
            <summary>
            将当前有效内存转为指定端序的<see cref="T:System.Int16"/>集合。
            </summary>
            <param name="endianType"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ReadInt64">
            <summary>
            从当前流位置读取一个默认端序的<see cref="T:System.Int64"/>值
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ReadInt64(TouchSocket.Core.EndianType)">
            <summary>
            从当前流位置读取一个<see cref="T:System.Int64"/>值
            </summary>
            <param name="endianType">指定端序</param>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ToInt64s">
            <summary>
            将当前有效内存转为默认端序的<see cref="T:System.Int64"/>集合。
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ToInt64s(TouchSocket.Core.EndianType)">
            <summary>
            将当前有效内存转为指定端序的<see cref="T:System.Int64"/>集合。
            </summary>
            <param name="endianType"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ReadBoolean">
            <summary>
            从当前流位置读取1个<see cref="T:System.Boolean"/>值
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ReadBooleans">
            <summary>
            从当前流位置读取1个字节，按位解析为bool值数组。
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ToBoolensFromBit">
            <summary>
            将当前有效内存按位转为<see cref="T:System.Boolean"/>集合。
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ToBoolensFromByte">
            <summary>
            将当前有效内存按字节转为<see cref="T:System.Boolean"/>集合。
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ReadString">
            <summary>
            从当前流位置读取一个<see cref="T:System.String"/>值
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.Write(System.String)">
            <summary>
            写入<see cref="T:System.String"/>值。值可以为null，或者空。
            <para>注意：该操作不具备通用性，读取时必须使用ReadString。或者得先做出判断，由默认端序的int32值标识，具体如下：</para>
            <list type="bullet">
            <item>小于0，表示字符串为null</item>
            <item>等于0，表示字符串为""</item>
            <item>大于0，表示字符串在utf-8编码下的字节长度。</item>
            </list>
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.WriteString(System.String,System.Text.Encoding)">
            <summary>
            写入<see cref="T:System.String"/>值。值必须为有效值。可通用解析。
            </summary>
            <param name="value"></param>
            <param name="encoding"></param>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ReadChar">
            <summary>
            从当前流位置读取一个默认端序的<see cref="T:System.Char"/>值
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ReadChar(TouchSocket.Core.EndianType)">
            <summary>
            从当前流位置读取一个<see cref="T:System.Char"/>值
            </summary>
            <param name="endianType">指定端序</param>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ToChars">
            <summary>
            将当前有效内存转为默认端序的<see cref="T:System.Char"/>集合。
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ToChars(TouchSocket.Core.EndianType)">
            <summary>
            将当前有效内存转为指定端序的<see cref="T:System.Char"/>集合。
            </summary>
            <param name="endianType"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ReadDouble">
            <summary>
            从当前流位置读取一个默认端序的<see cref="T:System.Double"/>值
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ReadDouble(TouchSocket.Core.EndianType)">
            <summary>
            从当前流位置读取一个<see cref="T:System.Double"/>值
            </summary>
            <param name="endianType">指定端序</param>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ToDoubles">
            <summary>
            将当前有效内存转为默认端序的<see cref="T:System.Double"/>集合。
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ToDoubles(TouchSocket.Core.EndianType)">
            <summary>
            将当前有效内存转为指定端序的<see cref="T:System.Double"/>集合。
            </summary>
            <param name="endianType"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ReadFloat">
            <summary>
            从当前流位置读取一个默认端序的<see cref="T:System.Single"/>值
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ReadFloat(TouchSocket.Core.EndianType)">
            <summary>
            从当前流位置读取一个<see cref="T:System.Single"/>值
            </summary>
            <param name="endianType">指定端序</param>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ToFloats">
            <summary>
            将当前有效内存转为默认端序的<see cref="T:System.Single"/>集合。
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ToFloats(TouchSocket.Core.EndianType)">
            <summary>
            将当前有效内存转为指定端序的<see cref="T:System.Single"/>集合。
            </summary>
            <param name="endianType"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ReadUInt16">
            <summary>
            从当前流位置读取一个默认端序的<see cref="T:System.UInt16"/>值
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ReadUInt16(TouchSocket.Core.EndianType)">
            <summary>
            从当前流位置读取一个<see cref="T:System.UInt16"/>值
            </summary>
            <param name="endianType">指定端序</param>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ToUInt16s">
            <summary>
            将当前有效内存转为默认端序的<see cref="T:System.UInt16"/>集合。
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ToUInt16s(TouchSocket.Core.EndianType)">
            <summary>
            将当前有效内存转为指定端序的<see cref="T:System.UInt16"/>集合。
            </summary>
            <param name="endianType"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ReadUInt32">
            <summary>
            从当前流位置读取一个默认端序的<see cref="T:System.UInt32"/>值
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ReadUInt32(TouchSocket.Core.EndianType)">
            <summary>
            从当前流位置读取一个<see cref="T:System.UInt32"/>值
            </summary>
            <param name="endianType">指定端序</param>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ToUInt32s">
            <summary>
            将当前有效内存转为默认端序的<see cref="T:System.UInt32"/>集合。
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ToUInt32s(TouchSocket.Core.EndianType)">
            <summary>
            将当前有效内存转为指定端序的<see cref="T:System.UInt32"/>集合。
            </summary>
            <param name="endianType"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ReadUInt64">
            <summary>
            从当前流位置读取一个默认端序的<see cref="T:System.UInt64"/>值
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ReadUInt64(TouchSocket.Core.EndianType)">
            <summary>
            从当前流位置读取一个<see cref="T:System.UInt64"/>值
            </summary>
            <param name="endianType">指定端序</param>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ToUInt64s">
            <summary>
            将当前有效内存转为默认端序的<see cref="T:System.UInt64"/>集合。
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ToUInt64s(TouchSocket.Core.EndianType)">
            <summary>
            将当前有效内存转为指定端序的<see cref="T:System.UInt64"/>集合。
            </summary>
            <param name="endianType"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ReadDecimal">
            <summary>
            从当前流位置读取一个默认端序的<see cref="T:System.Decimal"/>值
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ReadDecimal(TouchSocket.Core.EndianType)">
            <summary>
            从当前流位置读取一个<see cref="T:System.Decimal"/>值
            </summary>
            <param name="endianType">指定端序</param>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ToDecimals">
            <summary>
            将当前有效内存转为默认端序的<see cref="T:System.Decimal"/>集合。
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ToDecimals(TouchSocket.Core.EndianType)">
            <summary>
            将当前有效内存转为指定端序的<see cref="T:System.Decimal"/>集合。
            </summary>
            <param name="endianType"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ReadIsNull">
            <summary>
            从当前流位置读取一个标识值，判断是否为null。
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.WriteIsNull``1(``0)">
            <summary>
            判断该值是否为Null，然后写入标识值
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.WriteIsNull``1(System.Nullable{``0})">
            <summary>
            判断该值是否为Null，然后写入标识值
            </summary>
            <typeparam name="T"></typeparam>
            <param name="t"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.WriteNotNull">
            <summary>
            写入一个标识非Null值
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.WriteNull">
            <summary>
            写入一个标识Null值
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ReadDateTime">
            <summary>
            从当前流位置读取一个<see cref="T:System.DateTime"/>值
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ToDateTimes">
            <summary>
            将当前有效内存转为<see cref="T:System.DateTime"/>集合。
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ReadTimeSpan">
            <summary>
            从当前流位置读取一个<see cref="T:System.TimeSpan"/>值
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ToTimeSpans">
            <summary>
            将当前有效内存转为<see cref="T:System.TimeSpan"/>集合。
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.ReadObject``1(TouchSocket.Core.SerializationType)">
            <summary>
             从当前流位置读取一个泛型值
            </summary>
            <typeparam name="T"></typeparam>
            <param name="serializationType"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.WriteObject(System.Object,TouchSocket.Core.SerializationType)">
            <summary>
            写入<see cref="T:System.Object"/>值
            </summary>
            <param name="value"></param>
            <param name="serializationType"></param>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.GetEnumerator">
            <summary>
            <inheritdoc/>
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.op_Implicit(TouchSocket.Core.ValueByteBlock)~System.ArraySegment{System.Byte}">
            <summary>
            将<see cref="T:TouchSocket.Core.ByteBlock"/>转为<see cref="T:System.ArraySegment`1"/>。
            <para>注意：实际上是产生了一个新的内存。</para>
            </summary>
            <param name="byteBlock"></param>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.op_Implicit(TouchSocket.Core.ValueByteBlock)~System.Byte[]">
            <summary>
            将<see cref="T:TouchSocket.Core.ByteBlock"/>转为<see cref="T:System.Byte"/>数组。
            <para>注意：实际上是产生了一个新的内存。</para>
            </summary>
            <param name="byteBlock"></param>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.Write(System.Int32)">
            <summary>
            写入默认端序的<see cref="T:System.Int32"/>值
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.Write(System.Int32,TouchSocket.Core.EndianType)">
            <summary>
            写入指定端序的<see cref="T:System.Int32"/>值
            </summary>
            <param name="value"></param>
            <param name="endianType">指定端序</param>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.Write(System.Int16)">
            <summary>
            写入默认端序的<see cref="T:System.Int16"/>值
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.Write(System.Int16,TouchSocket.Core.EndianType)">
            <summary>
            写入<see cref="T:System.Int16"/>值
            </summary>
            <param name="value"></param>
            <param name="endianType">指定端序</param>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.Write(System.Int64)">
            <summary>
            写入默认端序的<see cref="T:System.Int64"/>值
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.Write(System.Int64,TouchSocket.Core.EndianType)">
            <summary>
            写入<see cref="T:System.Int64"/>值
            </summary>
            <param name="value"></param>
            <param name="endianType">指定端序</param>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.Write(System.Boolean)">
            <summary>
            写入<see cref="T:System.Boolean"/>值
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.Write(System.Boolean[])">
            <summary>
            写入bool数组。
            </summary>
            <param name="values"></param>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.Write(System.Byte)">
            <summary>
            写入<see cref="T:System.Byte"/>值
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.Write(System.Char)">
            <summary>
            写入默认端序的<see cref="T:System.Char"/>值
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.Write(System.Char,TouchSocket.Core.EndianType)">
            <summary>
            写入<see cref="T:System.Char"/>值
            </summary>
            <param name="value"></param>
            <param name="endianType">指定端序</param>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.Write(System.Double)">
            <summary>
            写入默认端序的<see cref="T:System.Double"/>值
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.Write(System.Double,TouchSocket.Core.EndianType)">
            <summary>
            写入<see cref="T:System.Double"/>值
            </summary>
            <param name="value"></param>
            <param name="endianType">指定端序</param>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.Write(System.Single)">
            <summary>
            写入默认端序的<see cref="T:System.Single"/>值
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.Write(System.Single,TouchSocket.Core.EndianType)">
            <summary>
            写入<see cref="T:System.Single"/>值
            </summary>
            <param name="value"></param>
            <param name="endianType">指定端序</param>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.Write(System.UInt16)">
            <summary>
            写入默认端序的<see cref="T:System.UInt16"/>值
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.Write(System.UInt16,TouchSocket.Core.EndianType)">
            <summary>
            写入<see cref="T:System.UInt16"/>值
            </summary>
            <param name="value"></param>
            <param name="endianType">指定端序</param>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.Write(System.UInt32)">
            <summary>
            写入默认端序的<see cref="T:System.UInt32"/>值
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.Write(System.UInt32,TouchSocket.Core.EndianType)">
            <summary>
            写入<see cref="T:System.UInt32"/>值
            </summary>
            <param name="value"></param>
            <param name="endianType">指定端序</param>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.Write(System.UInt64)">
            <summary>
            写入默认端序的<see cref="T:System.UInt64"/>值
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.Write(System.UInt64,TouchSocket.Core.EndianType)">
            <summary>
            写入<see cref="T:System.UInt64"/>值
            </summary>
            <param name="value"></param>
            <param name="endianType">指定端序</param>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.Write(System.Decimal)">
            <summary>
            写入默认端序的<see cref="T:System.Decimal"/>值
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.Write(System.Decimal,TouchSocket.Core.EndianType)">
            <summary>
            写入<see cref="T:System.Decimal"/>值
            </summary>
            <param name="value"></param>
            <param name="endianType">指定端序</param>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.Write(System.DateTime)">
            <summary>
            写入<see cref="T:System.DateTime"/>值
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:TouchSocket.Core.ValueByteBlock.Write(System.TimeSpan)">
            <summary>
            写入<see cref="T:System.TimeSpan"/>值
            </summary>
            <param name="value"></param>
        </member>
        <member name="T:TouchSocket.Core.DynamicMethodMemberAccessor">
            <summary>
            DynamicMethodMemberAccessor
            </summary>
        </member>
        <member name="P:TouchSocket.Core.DynamicMethodMemberAccessor.Default">
            <summary>
            DynamicMethodMemberAccessor的默认实例。
            </summary>
        </member>
        <member name="P:TouchSocket.Core.DynamicMethodMemberAccessor.OnGetFieldInfes">
            <summary>
            获取字段
            </summary>
        </member>
        <member name="P:TouchSocket.Core.DynamicMethodMemberAccessor.OnGetProperties">
            <summary>
            获取属性
            </summary>
        </member>
        <member name="M:TouchSocket.Core.DynamicMethodMemberAccessor.GetValue(System.Object,System.String)">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.DynamicMethodMemberAccessor.SetValue(System.Object,System.String,System.Object)">
            <inheritdoc/>
        </member>
        <member name="T:TouchSocket.Core.ExpressionMapper">
            <summary>
            表达式复制
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ExpressionMapper.Trans``2(``0)">
            <summary>
            字典缓存表达式树
            </summary>
        </member>
        <member name="T:TouchSocket.Core.IMemberAccessor">
            <summary>
            一个成员访问接口
            </summary>
        </member>
        <member name="M:TouchSocket.Core.IMemberAccessor.GetValue(System.Object,System.String)">
            <summary>
            获取指定成员的值
            </summary>
            <param name="instance"></param>
            <param name="memberName"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.IMemberAccessor.SetValue(System.Object,System.String,System.Object)">
             <summary>
            设置指定成员的值
             </summary>
             <param name="instance"></param>
             <param name="memberName"></param>
             <param name="newValue"></param>
        </member>
        <member name="T:TouchSocket.Core.InstanceCreater">
            <summary>
            实例生成
            </summary>
        </member>
        <member name="M:TouchSocket.Core.InstanceCreater.Create(System.Type,System.Object[])">
            <summary>
            根据对象类型创建对象实例
            </summary>
            <param name="key">对象类型</param>
            <param name="args"></param>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.Member">
            <summary>
            用于表达式树的成员
            </summary>
        </member>
        <member name="T:TouchSocket.Core.MemberAccessor`1">
            <summary>
            动态成员访问器
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="M:TouchSocket.Core.MemberAccessor`1.#ctor">
            <summary>
            动态成员访问器
            </summary>
        </member>
        <member name="T:TouchSocket.Core.MemberAccessor">
            <summary>
            动态成员访问器
            </summary>
        </member>
        <member name="M:TouchSocket.Core.MemberAccessor.#ctor(System.Type)">
            <summary>
            动态成员访问器
            </summary>
            <param name="type"></param>
        </member>
        <member name="P:TouchSocket.Core.MemberAccessor.OnGetFieldInfes">
            <summary>
            获取字段
            </summary>
        </member>
        <member name="P:TouchSocket.Core.MemberAccessor.OnGetProperties">
            <summary>
            获取属性
            </summary>
        </member>
        <member name="P:TouchSocket.Core.MemberAccessor.Type">
            <summary>
            所属类型
            </summary>
        </member>
        <member name="M:TouchSocket.Core.MemberAccessor.Build">
            <summary>
            构建
            </summary>
        </member>
        <member name="M:TouchSocket.Core.MemberAccessor.GetValue(System.Object,System.String)">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.MemberAccessor.SetValue(System.Object,System.String,System.Object)">
            <inheritdoc/>
        </member>
        <member name="T:TouchSocket.Core.MemberGetter">
            <summary>
            表示属性的Getter
            </summary>
        </member>
        <member name="F:TouchSocket.Core.MemberGetter.m_getFunc">
            <summary>
            get方法委托
            </summary>
        </member>
        <member name="M:TouchSocket.Core.MemberGetter.#ctor(System.Reflection.PropertyInfo)">
            <summary>
            表示属性的Getter
            </summary>
            <param name="property">属性</param>
            <exception cref="T:System.ArgumentNullException"></exception>
        </member>
        <member name="M:TouchSocket.Core.MemberGetter.#ctor(System.Reflection.FieldInfo)">
            <summary>
            表示类型字段或属性的Getter
            </summary>
            <exception cref="T:System.ArgumentNullException"></exception>
        </member>
        <member name="M:TouchSocket.Core.MemberGetter.Invoke(System.Object)">
            <summary>
            获取属性的值
            </summary>
            <param name="instance">实例</param>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.MemberSetter">
            <summary>
            表示属性的设置器
            </summary>
        </member>
        <member name="F:TouchSocket.Core.MemberSetter.setFunc">
            <summary>
            set方法委托
            </summary>
        </member>
        <member name="M:TouchSocket.Core.MemberSetter.#ctor(System.Reflection.PropertyInfo)">
            <summary>
            表示属性的Getter
            </summary>
            <param name="property">属性</param>
            <exception cref="T:System.ArgumentNullException"></exception>
        </member>
        <member name="M:TouchSocket.Core.MemberSetter.Invoke(System.Object,System.Object)">
            <summary>
            设置属性的值
            </summary>
            <param name="instance">实例</param>
            <param name="value">值</param>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.TaskReturnType">
            <summary>
            Task类型
            </summary>
        </member>
        <member name="F:TouchSocket.Core.TaskReturnType.None">
            <summary>
            没有Task
            </summary>
        </member>
        <member name="F:TouchSocket.Core.TaskReturnType.Task">
            <summary>
            仅返回Task
            </summary>
        </member>
        <member name="F:TouchSocket.Core.TaskReturnType.TaskObject">
            <summary>
            返回Task的值
            </summary>
        </member>
        <member name="T:TouchSocket.Core.Method">
            <summary>
            一个动态调用方法
            </summary>
        </member>
        <member name="F:TouchSocket.Core.Method.m_invoker">
            <summary>
            方法执行委托
            </summary>
        </member>
        <member name="M:TouchSocket.Core.Method.#ctor(System.Reflection.MethodInfo)">
            <summary>
            初始化一个动态调用方法
            </summary>
            <param name="method"></param>
        </member>
        <member name="M:TouchSocket.Core.Method.#ctor(System.Reflection.MethodInfo,System.Boolean)">
            <summary>
            初始化一个动态调用方法
            </summary>
            <param name="method">方法信息</param>
            <param name="build">是否直接使用IL构建调用</param>
        </member>
        <member name="P:TouchSocket.Core.Method.HasReturn">
            <summary>
            是否具有返回值。当返回值为Task时，也会认为没有返回值。
            </summary>
        </member>
        <member name="P:TouchSocket.Core.Method.Info">
            <summary>
            方法信息
            </summary>
        </member>
        <member name="P:TouchSocket.Core.Method.HasByRef">
            <summary>
            是否有引用类型
            </summary>
        </member>
        <member name="P:TouchSocket.Core.Method.Name">
            <summary>
            获取方法名
            </summary>
        </member>
        <member name="P:TouchSocket.Core.Method.ReturnType">
            <summary>
            返回值类型。
            <para>当方法为void或task时，为null</para>
            <para>当方法为task泛型时，为泛型元素类型</para>
            </summary>
        </member>
        <member name="P:TouchSocket.Core.Method.TaskType">
            <summary>
            返回值的Task类型。
            </summary>
        </member>
        <member name="M:TouchSocket.Core.Method.Equals(System.Object)">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.Method.GetHashCode">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.Method.Invoke(System.Object,System.Object[])">
            <summary>
            执行方法。
            </summary>
            <param name="instance">实例</param>
            <param name="parameters">参数</param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.Method.InvokeAsync(System.Object,System.Object[])">
            <summary>
            异步调用
            </summary>
            <param name="instance"></param>
            <param name="parameters"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.Method.InvokeAsync``1(System.Object,System.Object[])">
            <summary>
            调用异步结果
            </summary>
            <param name="instance"></param>
            <param name="parameters"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.Method.InvokeObjectAsync(System.Object,System.Object[])">
            <summary>
            执行方法。
            <para>当方法为void或task时，会异常</para>
            <para>当方法为task泛型时，会await后的值</para>
            <para>支持调用方为UI主线程。</para>
            </summary>
            <param name="instance">实例</param>
            <param name="parameters">参数</param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.Method.CreateExpressionInvoker(System.Reflection.MethodInfo)">
            <summary>
            构建表达式树调用
            </summary>
            <param name="method"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.Method.CreateILInvoker(System.Reflection.MethodInfo)">
            <summary>
            构建IL调用
            </summary>
            <param name="methodInfo"></param>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.Property">
            <summary>
            表示属性
            </summary>
        </member>
        <member name="F:TouchSocket.Core.Property.m_cached">
            <summary>
            类型属性的Setter缓存
            </summary>
        </member>
        <member name="F:TouchSocket.Core.Property.m_geter">
            <summary>
            获取器
            </summary>
        </member>
        <member name="F:TouchSocket.Core.Property.m_seter">
            <summary>
            设置器
            </summary>
        </member>
        <member name="M:TouchSocket.Core.Property.#ctor(System.Reflection.PropertyInfo)">
            <summary>
            属性
            </summary>
            <param name="property">属性信息</param>
        </member>
        <member name="P:TouchSocket.Core.Property.CanRead">
            <summary>
            是否可以读取
            </summary>
        </member>
        <member name="P:TouchSocket.Core.Property.CanWrite">
            <summary>
            是否可以写入
            </summary>
        </member>
        <member name="P:TouchSocket.Core.Property.Info">
            <summary>
            获取属性信息
            </summary>
        </member>
        <member name="P:TouchSocket.Core.Property.Name">
            <summary>
            获取属性名称
            </summary>
        </member>
        <member name="M:TouchSocket.Core.Property.GetProperties(System.Type)">
            <summary>
            从类型的属性获取属性
            </summary>
            <param name="type">类型</param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.Property.GetValue(System.Object)">
            <summary>
            获取属性的值
            </summary>
            <param name="instance">实例</param>
            <exception cref="T:System.NotSupportedException"></exception>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.Property.SetValue(System.Object,System.Object)">
            <summary>
            设置属性的值
            </summary>
            <param name="instance">实例</param>
            <param name="value">值</param>
            <exception cref="T:System.NotSupportedException"></exception>
        </member>
        <member name="T:TouchSocket.Core.EasyTask">
            <summary>
            易用组件
            </summary>
        </member>
        <member name="P:TouchSocket.Core.EasyTask.CompletedTask">
            <summary>
            已完成的Task
            </summary>
        </member>
        <member name="T:TouchSocket.Core.LoopAction">
            <summary>
            循环动作
            </summary>
        </member>
        <member name="M:TouchSocket.Core.LoopAction.Finalize">
            <summary>
            析构函数
            </summary>
        </member>
        <member name="M:TouchSocket.Core.LoopAction.CreateLoopAction(System.Int32,System.TimeSpan,System.Action{TouchSocket.Core.LoopAction})">
            <summary>
            创建可循环操作体
            </summary>
            <param name="count">循环次数，设为-1时一直循环</param>
            <param name="interval">每次循环间隔</param>
            <param name="action">执行委托</param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.LoopAction.CreateLoopAction(System.Int32,System.Int32,System.Action{TouchSocket.Core.LoopAction})">
            <summary>
            创建可循环操作体
            </summary>
            <param name="count">循环次数，设为-1时一直循环</param>
            <param name="intervalMS">每次循环间隔，毫秒</param>
            <param name="action">执行委托</param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.LoopAction.CreateLoopAction(System.Int32,System.Action{TouchSocket.Core.LoopAction})">
            <summary>
            创建可循环操作体
            </summary>
            <param name="count">循环次数，设为-1时一直循环</param>
            <param name="action">执行委托</param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.LoopAction.CreateLoopAction(System.TimeSpan,System.Action{TouchSocket.Core.LoopAction})">
            <summary>
            创建可循环操作体
            </summary>
            <param name="interval">每次循环间隔</param>
            <param name="action">执行委托</param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.LoopAction.CreateLoopAction(System.Action{TouchSocket.Core.LoopAction})">
            <summary>
            创建可循环操作体
            </summary>
            <param name="action">执行委托</param>
            <returns></returns>
        </member>
        <member name="P:TouchSocket.Core.LoopAction.ExecutedCount">
            <summary>
            已执行次数
            </summary>
        </member>
        <member name="P:TouchSocket.Core.LoopAction.Interval">
            <summary>
            执行间隔
            </summary>
        </member>
        <member name="P:TouchSocket.Core.LoopAction.LoopCount">
            <summary>
            循环次数
            </summary>
        </member>
        <member name="P:TouchSocket.Core.LoopAction.ExecuteAction">
            <summary>
            执行委托
            </summary>
        </member>
        <member name="P:TouchSocket.Core.LoopAction.RunStatus">
            <summary>
            是否在运行
            </summary>
        </member>
        <member name="M:TouchSocket.Core.LoopAction.Run">
            <summary>
            运行
            </summary>
        </member>
        <member name="M:TouchSocket.Core.LoopAction.Rerun">
            <summary>
            重新运行
            </summary>
        </member>
        <member name="M:TouchSocket.Core.LoopAction.RerunAsync">
            <summary>
            以异步重新运行
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.LoopAction.RunAsync">
            <summary>
            以异步运行
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.LoopAction.Pause">
            <summary>
            暂停
            </summary>
        </member>
        <member name="M:TouchSocket.Core.LoopAction.Resume">
            <summary>
            回复
            </summary>
        </member>
        <member name="M:TouchSocket.Core.LoopAction.Dispose">
            <summary>
            释放资源
            </summary>
        </member>
        <member name="T:TouchSocket.Core.RunStatus">
            <summary>
            运行状态
            </summary>
        </member>
        <member name="F:TouchSocket.Core.RunStatus.None">
            <summary>
            None
            </summary>
        </member>
        <member name="F:TouchSocket.Core.RunStatus.Running">
            <summary>
            Running
            </summary>
        </member>
        <member name="F:TouchSocket.Core.RunStatus.Completed">
            <summary>
            Completed
            </summary>
        </member>
        <member name="F:TouchSocket.Core.RunStatus.Paused">
            <summary>
            Pause
            </summary>
        </member>
        <member name="F:TouchSocket.Core.RunStatus.Disposed">
            <summary>
            Disposed
            </summary>
        </member>
        <member name="T:TouchSocket.Core.SingleTimer">
            <summary>
            不可重入的Timer
            </summary>
        </member>
        <member name="P:TouchSocket.Core.SingleTimer.Pause">
            <summary>
            是否暂停执行。
            </summary>
        </member>
        <member name="P:TouchSocket.Core.SingleTimer.Count">
            <summary>
            自启动以来执行的次数。
            </summary>
        </member>
        <member name="M:TouchSocket.Core.SingleTimer.#ctor(System.Int32,System.Action)">
            <summary>
            不可重入的Timer
            </summary>
            <param name="action"></param>
            <param name="period"></param>
        </member>
        <member name="M:TouchSocket.Core.SingleTimer.#ctor(System.TimeSpan,System.Action)">
            <summary>
            不可重入的Timer
            </summary>
            <param name="action"></param>
            <param name="period"></param>
        </member>
        <member name="M:TouchSocket.Core.SingleTimer.#ctor(System.Int32,System.Action{TouchSocket.Core.SingleTimer})">
            <summary>
            不可重入的Timer
            </summary>
            <param name="action"></param>
            <param name="period"></param>
        </member>
        <member name="M:TouchSocket.Core.SingleTimer.#ctor(System.Int32,System.Action{TouchSocket.Core.SingleTimer,System.Object})">
            <summary>
            不可重入的Timer
            </summary>
            <param name="action"></param>
            <param name="period"></param>
        </member>
        <member name="M:TouchSocket.Core.SingleTimer.#ctor(System.Object,System.TimeSpan,System.Action{TouchSocket.Core.SingleTimer})">
            <summary>
            不可重入的Timer
            </summary>
            <param name="action"></param>
            <param name="state"></param>
            <param name="period"></param>
        </member>
        <member name="M:TouchSocket.Core.SingleTimer.#ctor(System.Object,System.TimeSpan,System.Action{TouchSocket.Core.SingleTimer,System.Object})">
            <summary>
            不可重入的Timer
            </summary>
            <param name="action"></param>
            <param name="state"></param>
            <param name="period"></param>
        </member>
        <member name="M:TouchSocket.Core.SingleTimer.#ctor(System.Object,System.Int32,System.Action{TouchSocket.Core.SingleTimer})">
            <summary>
            不可重入的Timer
            </summary>
            <param name="action"></param>
            <param name="state"></param>
            <param name="period"></param>
        </member>
        <member name="M:TouchSocket.Core.SingleTimer.#ctor(System.Object,System.Int32,System.Action{TouchSocket.Core.SingleTimer,System.Object})">
            <summary>
            不可重入的Timer
            </summary>
            <param name="action"></param>
            <param name="state"></param>
            <param name="period"></param>
        </member>
        <member name="M:TouchSocket.Core.SingleTimer.Dispose(System.Boolean)">
            <summary>
            <inheritdoc/>
            </summary>
            <param name="disposing"></param>
        </member>
        <member name="T:TouchSocket.Core.FastConverterAttribute">
            <summary>
            FastConverterAttribute
            </summary>
        </member>
        <member name="M:TouchSocket.Core.FastConverterAttribute.#ctor(System.Type)">
            <summary>
            FastConverterAttribute
            </summary>
            <param name="type"></param>
        </member>
        <member name="P:TouchSocket.Core.FastConverterAttribute.Type">
            <summary>
            转化器类型。
            </summary>
        </member>
        <member name="T:TouchSocket.Core.FastMemberAttribute">
            <summary>
            标识Fast序列化成员编号。以此来代替属性、字段名。
            </summary>
        </member>
        <member name="P:TouchSocket.Core.FastMemberAttribute.Index">
            <summary>
            索引号
            </summary>
        </member>
        <member name="M:TouchSocket.Core.FastMemberAttribute.#ctor(System.Byte)">
            <summary>
            标识Fast序列化成员编号。以此来代替属性、字段名。
            </summary>
            <param name="index">最大支持255个成员</param>
        </member>
        <member name="T:TouchSocket.Core.FastNonSerializedAttribute">
            <summary>
            忽略的Fast序列化
            </summary>
        </member>
        <member name="T:TouchSocket.Core.FastSerializedAttribute">
            <summary>
            显式Fast序列化。一般当某个属性为只读时，使用该特性。
            </summary>
        </member>
        <member name="P:TouchSocket.Core.FastSerializedAttribute.EnableIndex">
            <summary>
            使用索引替代属性名称。
            </summary>
        </member>
        <member name="T:TouchSocket.Core.MetadataFastBinaryConverter">
            <summary>
            MetadataFastBinaryConverter
            </summary>
        </member>
        <member name="T:TouchSocket.Core.FastBinaryFormatter">
            <summary>
            快速二进制序列化。
            </summary>
        </member>
        <member name="F:TouchSocket.Core.FastBinaryFormatter.DynamicallyAccessed">
            <summary>
            DynamicallyAccessed
            </summary>
        </member>
        <member name="M:TouchSocket.Core.FastBinaryFormatter.AddFastBinaryConverter``2">
            <summary>
            添加转换器。
            </summary>
        </member>
        <member name="M:TouchSocket.Core.FastBinaryFormatter.AddFastBinaryConverter``1(TouchSocket.Core.IFastBinaryConverter)">
            <summary>
            添加转换器。
            </summary>
            <typeparam name="TType"></typeparam>
            <param name="converter"></param>
        </member>
        <member name="M:TouchSocket.Core.FastBinaryFormatter.AddFastBinaryConverter(System.Type,TouchSocket.Core.IFastBinaryConverter)">
            <summary>
            添加转换器。
            </summary>
            <param name="type"></param>
            <param name="converter"></param>
        </member>
        <member name="M:TouchSocket.Core.FastBinaryFormatter.Serialize``1(TouchSocket.Core.ByteBlock,``0@)">
            <summary>
            序列化对象
            </summary>
            <param name="byteBlock">流</param>
            <param name="graph">对象</param>
        </member>
        <member name="M:TouchSocket.Core.FastBinaryFormatter.Serialize``1(TouchSocket.Core.ByteBlock,``0@,TouchSocket.Core.FastSerializerContext)">
            <summary>
            序列化对象
            </summary>
            <param name="byteBlock">流</param>
            <param name="graph">对象</param>
            <param name="serializerContext"></param>
        </member>
        <member name="M:TouchSocket.Core.FastBinaryFormatter.Deserialize(System.Byte[],System.Int32,System.Type)">
            <summary>
            反序列化
            </summary>
            <param name="data"></param>
            <param name="offset"></param>
            <param name="type"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.FastBinaryFormatter.Deserialize(System.Byte[],System.Int32,System.Type,TouchSocket.Core.FastSerializerContext)">
            <summary>
            反序列化
            </summary>
            <param name="data"></param>
            <param name="offset"></param>
            <param name="type"></param>
            <param name="serializerContext"></param>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.IFastBinaryConverter">
            <summary>
            FastBinary转换器
            </summary>
        </member>
        <member name="M:TouchSocket.Core.IFastBinaryConverter.Read(System.Byte[],System.Int32,System.Int32)">
            <summary>
            读取对象，不需要考虑为null的情况。
            </summary>
            <param name="buffer">读取的内存</param>
            <param name="offset">内存偏移</param>
            <param name="len">该数据对象应该占用的长度</param>
            <returns>返回实际对象</returns>
        </member>
        <member name="M:TouchSocket.Core.IFastBinaryConverter.Write(TouchSocket.Core.ByteBlock,System.Object)">
            <summary>
            写入对象，不需要考虑为null的情况。
            </summary>
            <param name="byteBlock">存储内存块</param>
            <param name="obj">需要序列化的对象</param>
            <returns>返回该对象实际占用的字节长度。</returns>
        </member>
        <member name="T:TouchSocket.Core.FastBinaryConverter`1">
            <summary>
            FastBinary转换器
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="M:TouchSocket.Core.FastBinaryConverter`1.Read(System.Byte[],System.Int32,System.Int32)">
            <inheritdoc cref="M:TouchSocket.Core.IFastBinaryConverter.Read(System.Byte[],System.Int32,System.Int32)"/>
        </member>
        <member name="M:TouchSocket.Core.FastBinaryConverter`1.Write(TouchSocket.Core.ByteBlock,`0)">
            <inheritdoc cref="M:TouchSocket.Core.IFastBinaryConverter.Write(TouchSocket.Core.ByteBlock,System.Object)"/>
        </member>
        <member name="T:TouchSocket.Core.SerializationType">
            <summary>
            序列化类型
            </summary>
        </member>
        <member name="F:TouchSocket.Core.SerializationType.FastBinary">
            <summary>
            内置快速二进制
            </summary>
        </member>
        <member name="F:TouchSocket.Core.SerializationType.Json">
            <summary>
            Json
            </summary>
        </member>
        <member name="F:TouchSocket.Core.SerializationType.Xml">
            <summary>
            Xml
            </summary>
        </member>
        <member name="F:TouchSocket.Core.SerializationType.SystemBinary">
            <summary>
            系统二进制。微软认为这是不安全的，所以谨慎使用。
            </summary>
        </member>
        <member name="M:TouchSocket.Core.DefaultFastSerializerContext.AddFastBinaryConverter(System.Type,TouchSocket.Core.IFastBinaryConverter)">
            <summary>
            添加转换器。
            </summary>
            <param name="type"></param>
            <param name="converter"></param>
        </member>
        <member name="T:TouchSocket.Core.FastSerializerContext">
            <summary>
            快速序列化上下文
            </summary>
        </member>
        <member name="M:TouchSocket.Core.FastSerializerContext.#ctor">
            <summary>
            快速序列化上下文
            </summary>
        </member>
        <member name="M:TouchSocket.Core.FastSerializerContext.GetNewInstance(System.Type)">
            <summary>
            获取新实例
            </summary>
            <param name="type"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.FastSerializerContext.GetSerializObject(System.Type)">
            <summary>
            获取序列化对象
            </summary>
            <param name="type"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.FastSerializerContext.AddConverter(System.Type,TouchSocket.Core.IFastBinaryConverter)">
            <summary>
            添加转换器
            </summary>
            <param name="type"></param>
            <param name="converter"></param>
        </member>
        <member name="T:TouchSocket.Core.SerializObject">
            <summary>
            可序列化对象
            </summary>
        </member>
        <member name="M:TouchSocket.Core.SerializObject.#ctor(System.Type,TouchSocket.Core.IFastBinaryConverter)">
            <summary>
            从转换器初始化
            </summary>
            <param name="type"></param>
            <param name="converter"></param>
        </member>
        <member name="M:TouchSocket.Core.SerializObject.#ctor(System.Type)">
            <summary>
            从类型创建序列化器
            </summary>
            <param name="type"></param>
            <exception cref="T:System.Exception"></exception>
        </member>
        <member name="P:TouchSocket.Core.SerializObject.Converter">
            <summary>
            转化器
            </summary>
        </member>
        <member name="P:TouchSocket.Core.SerializObject.Type">
            <summary>
            类型
            </summary>
        </member>
        <member name="T:TouchSocket.Core.SerializeConvert">
            <summary>
            高性能序列化器
            </summary>
        </member>
        <member name="M:TouchSocket.Core.SerializeConvert.BinarySerialize(System.Object@)">
            <summary>
            普通二进制序列化对象
            </summary>
            <param name="obj">数据对象</param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.SerializeConvert.BinarySerializeToFile(System.Object@,System.String)">
            <summary>
            二进制序列化对象至文件
            </summary>
            <param name="obj">数据对象</param>
            <param name="path">路径</param>
        </member>
        <member name="M:TouchSocket.Core.SerializeConvert.BinarySerialize(System.IO.Stream,System.Object@)">
            <summary>
            二进制序列化对象
            </summary>
            <param name="stream"></param>
            <param name="obj"></param>
        </member>
        <member name="M:TouchSocket.Core.SerializeConvert.BinaryDeserialize``1(System.Byte[],System.Int32,System.Int32,System.Runtime.Serialization.SerializationBinder)">
            <summary>
            从Byte[]中反序列化
            </summary>
            <typeparam name="T"></typeparam>
            <param name="data"></param>
            <param name="offset"></param>
            <param name="length"></param>
            <param name="binder"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.SerializeConvert.BinaryDeserialize(System.Byte[],System.Int32,System.Int32,System.Runtime.Serialization.SerializationBinder)">
            <summary>
            反序列化
            </summary>
            <param name="data"></param>
            <param name="offset"></param>
            <param name="length"></param>
            <param name="binder"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.SerializeConvert.BinaryDeserialize``1(System.IO.Stream,System.Runtime.Serialization.SerializationBinder)">
            <summary>
            从Stream中反序列化
            </summary>
            <typeparam name="T"></typeparam>
            <param name="stream"></param>
            <param name="binder"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.SerializeConvert.BinaryDeserializeFromFile``1(System.String)">
            <summary>
            将二进制文件数据反序列化为指定类型对象
            </summary>
            <typeparam name="T"></typeparam>
            <param name="path"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.SerializeConvert.BinaryDeserialize``1(System.Byte[])">
            <summary>
            将二进制数据反序列化为指定类型对象
            </summary>
            <typeparam name="T"></typeparam>
            <param name="data"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.SerializeConvert.BinaryDeserialize``1(System.Byte[],System.Runtime.Serialization.SerializationBinder)">
            <summary>
            从Byte[]中反序列化
            </summary>
            <typeparam name="T"></typeparam>
            <param name="data"></param>
            <param name="binder"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.SerializeConvert.FastBinarySerialize``1(TouchSocket.Core.ByteBlock,``0@)">
            <summary>
            Fast二进制序列化对象
            </summary>
            <param name="stream"></param>
            <param name="obj"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.SerializeConvert.FastBinarySerialize``1(``0@)">
            <summary>
            Fast二进制序列化对象
            </summary>
            <param name="obj"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.SerializeConvert.FastBinaryDeserialize``1(System.Byte[],System.Int32)">
            <summary>
            Fast反序列化
            </summary>
            <typeparam name="T"></typeparam>
            <param name="data"></param>
            <param name="offset"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.SerializeConvert.FastBinaryDeserialize(System.Byte[],System.Int32,System.Type)">
            <summary>
            Fast反序列化
            </summary>
            <param name="data"></param>
            <param name="offset"></param>
            <param name="type"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.SerializeConvert.FastBinaryDeserialize``1(System.Byte[])">
            <summary>
            从Byte[]中反序列化
            </summary>
            <typeparam name="T"></typeparam>
            <param name="data"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.SerializeConvert.XmlSerializeToString(System.Object,System.Text.Encoding)">
            <summary>
            Xml序列化数据对象
            </summary>
            <param name="obj">数据对象</param>
            <param name="encoding">编码格式</param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.SerializeConvert.XmlSerializeToString(System.Object)">
            <summary>
            Xml序列化数据对象
            </summary>
            <param name="obj">数据对象</param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.SerializeConvert.XmlSerializeToBytes(System.Object)">
            <summary>
            Xml序列化数据对象
            </summary>
            <param name="obj">数据对象</param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.SerializeConvert.XmlSerializeToFile(System.Object,System.String)">
            <summary>
            Xml序列化至文件
            </summary>
            <param name="obj"></param>
            <param name="path"></param>
        </member>
        <member name="M:TouchSocket.Core.SerializeConvert.XmlDeserializeFromBytes``1(System.Byte[])">
            <summary>
            Xml反序列化
            </summary>
            <typeparam name="T">反序列化类型</typeparam>
            <param name="datas">数据</param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.SerializeConvert.XmlDeserializeFromBytes(System.Byte[],System.Type)">
            <summary>
            Xml反序列化
            </summary>
            <param name="datas"></param>
            <param name="type"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.SerializeConvert.XmlDeserializeFromStream(System.IO.Stream,System.Type)">
            <summary>
            Xml反序列化
            </summary>
            <param name="xmlStream"></param>
            <param name="targetType"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.SerializeConvert.XmlDeserializeFromStream``1(System.IO.Stream)">
            <summary>
            Xml反序列化
            </summary>
            <typeparam name="T"></typeparam>
            <param name="xmlStream"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.SerializeConvert.XmlDeserializeFromString(System.String,System.Type)">
            <summary>
            Xml反序列化
            </summary>
            <param name="xmlString">xml字符串</param>
            <param name="targetType"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.SerializeConvert.XmlDeserializeFromString``1(System.String)">
            <summary>
            Xml反序列化
            </summary>
            <typeparam name="T"></typeparam>
            <param name="xmlString"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.SerializeConvert.XmlDeserializeFromFile``1(System.String)">
            <summary>
            Xml反序列化
            </summary>
            <typeparam name="T">反序列化类型</typeparam>
            <param name="path">文件路径</param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.SerializeConvert.ToJsonString(System.Object)">
            <summary>
            转换为Json
            </summary>
            <param name="item"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.SerializeConvert.FromJsonString(System.String,System.Type)">
            <summary>
            从字符串到json
            </summary>
            <param name="json"></param>
            <param name="type"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.SerializeConvert.FromJsonString``1(System.String)">
            <summary>
            从字符串到json
            </summary>
            <typeparam name="T"></typeparam>
            <param name="json"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.SerializeConvert.JsonSerializeToBytes(System.Object)">
            <summary>
            Json序列化数据对象
            </summary>
            <param name="obj">数据对象</param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.SerializeConvert.JsonSerializeToFile(System.Object,System.String)">
            <summary>
            Json序列化至文件
            </summary>
            <param name="obj"></param>
            <param name="path"></param>
        </member>
        <member name="M:TouchSocket.Core.SerializeConvert.JsonDeserializeFromBytes``1(System.Byte[])">
            <summary>
            Json反序列化
            </summary>
            <typeparam name="T">反序列化类型</typeparam>
            <param name="datas">数据</param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.SerializeConvert.JsonDeserializeFromBytes(System.Byte[],System.Type)">
            <summary>
            Xml反序列化
            </summary>
            <param name="datas"></param>
            <param name="type"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.SerializeConvert.JsonDeserializeFromString``1(System.String)">
            <summary>
            Json反序列化
            </summary>
            <typeparam name="T">类型</typeparam>
            <param name="json">json字符串</param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.SerializeConvert.JsonDeserializeFromFile``1(System.String)">
            <summary>
            Json反序列化
            </summary>
            <typeparam name="T">反序列化类型</typeparam>
            <param name="path">文件路径</param>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.BytesSerializerConverter`1">
            <summary>
            字节类转换器
            </summary>
        </member>
        <member name="T:TouchSocket.Core.BytesSerializerConverter">
            <summary>
            字节类转换器
            </summary>
        </member>
        <member name="T:TouchSocket.Core.ISerializerFormatter`2">
            <summary>
            转换器接口
            </summary>
        </member>
        <member name="P:TouchSocket.Core.ISerializerFormatter`2.Order">
            <summary>
            转换器执行顺序
            <para>该属性值越小，越靠前执行。值相等时，按添加先后顺序</para>
            <para>该属性效果，仅在<see cref="M:TouchSocket.Core.TouchSocketSerializerConverter`2.Add(TouchSocket.Core.ISerializerFormatter{`0,`1})"/>之前设置有效。</para>
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ISerializerFormatter`2.TryDeserialize(`1,`0@,System.Type,System.Object@)">
            <summary>
            尝试将源数据转换目标类型对象
            </summary>
            <param name="state"></param>
            <param name="source"></param>
            <param name="targetType"></param>
            <param name="target"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.ISerializerFormatter`2.TrySerialize(`1,System.Object@,`0@)">
            <summary>
            尝试将目标类型对象转换源数据
            </summary>
            <param name="state"></param>
            <param name="target"></param>
            <param name="source"></param>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.JsonBytesToClassSerializerFormatter`1">
            <summary>
            Json字节转到对应类
            </summary>
        </member>
        <member name="P:TouchSocket.Core.JsonBytesToClassSerializerFormatter`1.JsonSettings">
            <summary>
            JsonSettings
            </summary>
        </member>
        <member name="P:TouchSocket.Core.JsonBytesToClassSerializerFormatter`1.Order">
            <summary>
            <inheritdoc/>
            </summary>
        </member>
        <member name="M:TouchSocket.Core.JsonBytesToClassSerializerFormatter`1.TryDeserialize(`0,System.Byte[]@,System.Type,System.Object@)">
            <summary>
            <inheritdoc/>
            </summary>
            <param name="state"></param>
            <param name="source"></param>
            <param name="targetType"></param>
            <param name="target"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.JsonBytesToClassSerializerFormatter`1.TrySerialize(`0,System.Object@,System.Byte[]@)">
            <summary>
            <inheritdoc/>
            </summary>
            <param name="state"></param>
            <param name="target"></param>
            <param name="source"></param>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.JsonStringToClassSerializerFormatter`1">
            <summary>
            Json字符串转到对应类
            </summary>
        </member>
        <member name="P:TouchSocket.Core.JsonStringToClassSerializerFormatter`1.Order">
            <summary>
            <inheritdoc/>
            </summary>
        </member>
        <member name="P:TouchSocket.Core.JsonStringToClassSerializerFormatter`1.JsonSettings">
            <summary>
            JsonSettings
            </summary>
        </member>
        <member name="M:TouchSocket.Core.JsonStringToClassSerializerFormatter`1.TryDeserialize(`0,System.String@,System.Type,System.Object@)">
            <summary>
            <inheritdoc/>
            </summary>
            <param name="state"></param>
            <param name="source"></param>
            <param name="targetType"></param>
            <param name="target"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.JsonStringToClassSerializerFormatter`1.TrySerialize(`0,System.Object@,System.String@)">
            <summary>
            <inheritdoc/>
            </summary>
            <param name="state"></param>
            <param name="target"></param>
            <param name="source"></param>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.StringSerializerConverter`1">
            <summary>
            String类型数据转换器
            </summary>
        </member>
        <member name="M:TouchSocket.Core.StringSerializerConverter`1.#ctor(TouchSocket.Core.ISerializerFormatter{System.String,`0}[])">
            <summary>
            String类型数据转换器
            </summary>
        </member>
        <member name="T:TouchSocket.Core.StringSerializerConverter">
            <summary>
            String类型数据转换器
            </summary>
        </member>
        <member name="M:TouchSocket.Core.StringSerializerConverter.#ctor(TouchSocket.Core.ISerializerFormatter{System.String,System.Object}[])">
            <summary>
            String类型数据转换器
            </summary>
            <param name="converters"></param>
        </member>
        <member name="T:TouchSocket.Core.StringToPrimitiveSerializerFormatter`1">
            <summary>
            String值转换为基础类型。
            </summary>
        </member>
        <member name="P:TouchSocket.Core.StringToPrimitiveSerializerFormatter`1.Order">
            <summary>
            <inheritdoc/>
            </summary>
        </member>
        <member name="M:TouchSocket.Core.StringToPrimitiveSerializerFormatter`1.TryDeserialize(`0,System.String@,System.Type,System.Object@)">
            <summary>
            <inheritdoc/>
            </summary>
            <param name="state"></param>
            <param name="source"></param>
            <param name="targetType"></param>
            <param name="target"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.StringToPrimitiveSerializerFormatter`1.TrySerialize(`0,System.Object@,System.String@)">
            <summary>
            <inheritdoc/>
            </summary>
            <param name="state"></param>
            <param name="target"></param>
            <param name="source"></param>
            <returns></returns>
        </member>
        <member name="T:TouchSocket.Core.TouchSocketSerializerConverter`2">
            <summary>
            序列化转换器
            </summary>
        </member>
        <member name="M:TouchSocket.Core.TouchSocketSerializerConverter`2.Add(TouchSocket.Core.ISerializerFormatter{`0,`1})">
            <summary>
            添加插件
            </summary>
            <param name="converter">插件</param>
            <exception cref="T:System.ArgumentNullException"></exception>
        </member>
        <member name="M:TouchSocket.Core.TouchSocketSerializerConverter`2.Clear">
            <summary>
            清除所有转化器
            </summary>
        </member>
        <member name="M:TouchSocket.Core.TouchSocketSerializerConverter`2.Deserialize(`1,`0,System.Type)">
            <summary>
            将源数据转换目标类型对象
            </summary>
            <param name="state"></param>
            <param name="source"></param>
            <param name="targetType"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.TouchSocketSerializerConverter`2.Serialize(`1,System.Object@)">
            <summary>
            将目标类型对象转换源数据
            </summary>
            <param name="state"></param>
            <param name="target"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.TouchSocketSerializerConverter`2.Remove(TouchSocket.Core.ISerializerFormatter{`0,`1})">
            <summary>
            移除插件
            </summary>
            <param name="converter"></param>
        </member>
        <member name="M:TouchSocket.Core.TouchSocketSerializerConverter`2.Remove(System.Type)">
            <summary>
            移除插件
            </summary>
            <param name="type"></param>
        </member>
        <member name="T:TouchSocket.Core.XmlStringToClassSerializerFormatter`1">
            <summary>
            Xml字符串转换器
            </summary>
            <typeparam name="TState"></typeparam>
        </member>
        <member name="P:TouchSocket.Core.XmlStringToClassSerializerFormatter`1.Order">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.XmlStringToClassSerializerFormatter`1.TryDeserialize(`0,System.String@,System.Type,System.Object@)">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.XmlStringToClassSerializerFormatter`1.TrySerialize(`0,System.Object@,System.String@)">
            <inheritdoc/>
        </member>
        <member name="T:TouchSocket.Core.AsyncAutoResetEvent">
            <summary>
            异步等待的AutoResetEvent
            WaitOneAsync方法会返回一个task，通过await方式等待
            </summary>
        </member>
        <member name="M:TouchSocket.Core.AsyncAutoResetEvent.#ctor">
            <summary>
            异步等待的AutoResetEvent
            WaitOneAsync方法会返回一个task，通过await方式等待
            </summary>
        </member>
        <member name="M:TouchSocket.Core.AsyncAutoResetEvent.#ctor(System.Boolean)">
            <summary>
            异步等待的AutoResetEvent
            WaitOneAsync方法会返回一个task，通过await方式等待
            </summary>
            <param name="set"></param>
        </member>
        <member name="T:TouchSocket.Core.AsyncManualResetEvent">
            <summary>
            一个手动恢复的异步通知事件
            </summary>
        </member>
        <member name="M:TouchSocket.Core.AsyncManualResetEvent.#ctor">
            <summary>
            一个手动恢复的异步通知事件
            </summary>
        </member>
        <member name="M:TouchSocket.Core.AsyncManualResetEvent.#ctor(System.Boolean)">
            <summary>
             一个手动恢复的异步通知事件
            </summary>
            <param name="set"></param>
        </member>
        <member name="T:TouchSocket.Core.AsyncResetEvent">
            <summary>
            异步AsyncResetEvent
            能够创建一个手动Reset或者自动Reset.
            </summary>
        </member>
        <member name="M:TouchSocket.Core.AsyncResetEvent.#ctor(System.Boolean,System.Boolean)">
            <summary>
            创建一个异步AsyncResetEvent
            </summary>
            <param name="initialState">是否包含初始信号</param>
            <param name="autoReset">是否自动重置</param>
        </member>
        <member name="M:TouchSocket.Core.AsyncResetEvent.WaitOneAsync">
            <summary>
            异步等待设置此事件
            </summary>
        </member>
        <member name="M:TouchSocket.Core.AsyncResetEvent.WaitOneAsync(System.TimeSpan)">
             <summary>
            异步等待指定时间
             </summary>
             <param name="millisecondsTimeout">超时时间</param>
        </member>
        <member name="M:TouchSocket.Core.AsyncResetEvent.WaitOneAsync(System.Threading.CancellationToken)">
            <summary>
            异步等待可取消
            </summary>
            <param name="cancellationToken">可取消令箭</param>
        </member>
        <member name="M:TouchSocket.Core.AsyncResetEvent.Reset">
            <summary>
            重置
            </summary>
        </member>
        <member name="M:TouchSocket.Core.AsyncResetEvent.Set">
            <summary>
            设置信号
            </summary>
        </member>
        <member name="M:TouchSocket.Core.AsyncResetEvent.Dispose(System.Boolean)">
            <inheritdoc/>
        </member>
        <member name="T:TouchSocket.Core.ReadLock">
            <summary>
            读取锁
            </summary>
        </member>
        <member name="M:TouchSocket.Core.ReadLock.#ctor(System.Threading.ReaderWriterLockSlim)">
            <summary>
            构造函数
            </summary>
            <param name="locks"></param>
        </member>
        <member name="M:TouchSocket.Core.ReadLock.Dispose">
            <summary>
            释放
            </summary>
        </member>
        <member name="T:TouchSocket.Core.WriteLock">
            <summary>
            写入锁
            </summary>
        </member>
        <member name="M:TouchSocket.Core.WriteLock.#ctor(System.Threading.ReaderWriterLockSlim)">
            <summary>
            构造函数
            </summary>
            <param name="locks"></param>
        </member>
        <member name="M:TouchSocket.Core.WriteLock.Dispose">
            <summary>
            释放
            </summary>
        </member>
        <member name="T:TouchSocket.Core.IWaitData`1">
            <summary>
            IWaitData
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="P:TouchSocket.Core.IWaitData`1.Status">
            <summary>
            等待对象的状态
            </summary>
        </member>
        <member name="P:TouchSocket.Core.IWaitData`1.WaitResult">
            <summary>
            等待结果
            </summary>
        </member>
        <member name="M:TouchSocket.Core.IWaitData`1.Cancel">
            <summary>
            取消等待
            </summary>
        </member>
        <member name="M:TouchSocket.Core.IWaitData`1.Reset">
            <summary>
            Reset。
            设置<see cref="P:TouchSocket.Core.IWaitData`1.WaitResult"/>为null。然后重置状态为<see cref="F:TouchSocket.Core.WaitDataStatus.Default"/>
            </summary>
        </member>
        <member name="M:TouchSocket.Core.IWaitData`1.Set">
            <summary>
            使等待的线程继续执行
            </summary>
        </member>
        <member name="M:TouchSocket.Core.IWaitData`1.Set(`0)">
            <summary>
            使等待的线程继续执行
            </summary>
            <param name="waitResult">等待结果</param>
        </member>
        <member name="M:TouchSocket.Core.IWaitData`1.SetCancellationToken(System.Threading.CancellationToken)">
            <summary>
            加载取消令箭
            </summary>
            <param name="cancellationToken"></param>
        </member>
        <member name="M:TouchSocket.Core.IWaitData`1.SetResult(`0)">
            <summary>
            载入结果
            </summary>
        </member>
        <member name="T:TouchSocket.Core.IWaitHandle">
            <summary>
            IWaitHandle
            </summary>
        </member>
        <member name="P:TouchSocket.Core.IWaitHandle.Sign">
            <summary>
            标记
            </summary>
        </member>
        <member name="T:TouchSocket.Core.IWaitResult">
            <summary>
            等待返回类
            </summary>
        </member>
        <member name="P:TouchSocket.Core.IWaitResult.Message">
            <summary>
            消息
            </summary>
        </member>
        <member name="P:TouchSocket.Core.IWaitResult.Status">
            <summary>
            状态
            </summary>
        </member>
        <member name="T:TouchSocket.Core.ValueWaitResult">
            <summary>
            ValueWaitResult
            </summary>
        </member>
        <member name="P:TouchSocket.Core.ValueWaitResult.Message">
            <summary>
            消息
            </summary>
        </member>
        <member name="P:TouchSocket.Core.ValueWaitResult.Sign">
            <summary>
            标记号
            </summary>
        </member>
        <member name="P:TouchSocket.Core.ValueWaitResult.Status">
            <summary>
            状态
            </summary>
        </member>
        <member name="T:TouchSocket.Core.WaitData`1">
            <summary>
            等待数据对象
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="M:TouchSocket.Core.WaitData`1.#ctor">
            <summary>
            WaitData
            </summary>
        </member>
        <member name="P:TouchSocket.Core.WaitData`1.Status">
            <inheritdoc/>
        </member>
        <member name="P:TouchSocket.Core.WaitData`1.WaitResult">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.WaitData`1.Cancel">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.WaitData`1.Reset">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.WaitData`1.Set">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.WaitData`1.Set(`0)">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.WaitData`1.SetCancellationToken(System.Threading.CancellationToken)">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.WaitData`1.SetResult(`0)">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.WaitData`1.Wait(System.TimeSpan)">
            <summary>
            等待指定时间
            </summary>
            <param name="timeSpan"></param>
        </member>
        <member name="M:TouchSocket.Core.WaitData`1.Wait(System.Int32)">
            <summary>
            等待指定毫秒
            </summary>
            <param name="millisecond"></param>
        </member>
        <member name="M:TouchSocket.Core.WaitData`1.Dispose(System.Boolean)">
            <inheritdoc/>
        </member>
        <member name="T:TouchSocket.Core.WaitData">
            <summary>
            等待数据对象
            </summary>
        </member>
        <member name="T:TouchSocket.Core.WaitDataAsync`1">
            <summary>
            等待数据对象
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="M:TouchSocket.Core.WaitDataAsync`1.#ctor">
            <summary>
            构造函数
            </summary>
        </member>
        <member name="P:TouchSocket.Core.WaitDataAsync`1.Status">
            <inheritdoc/>
        </member>
        <member name="P:TouchSocket.Core.WaitDataAsync`1.WaitResult">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.WaitDataAsync`1.Cancel">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.WaitDataAsync`1.Reset">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.WaitDataAsync`1.Set">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.WaitDataAsync`1.Set(`0)">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.WaitDataAsync`1.SetCancellationToken(System.Threading.CancellationToken)">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.WaitDataAsync`1.SetResult(`0)">
            <inheritdoc/>
        </member>
        <member name="M:TouchSocket.Core.WaitDataAsync`1.WaitAsync(System.TimeSpan)">
            <summary>
            等待指定时间
            </summary>
            <param name="timeSpan"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.WaitDataAsync`1.WaitAsync(System.Int32)">
            <summary>
            等待指定毫秒
            </summary>
            <param name="millisecond"></param>
        </member>
        <member name="M:TouchSocket.Core.WaitDataAsync`1.Dispose(System.Boolean)">
            <inheritdoc/>
        </member>
        <member name="T:TouchSocket.Core.WaitDataAsync">
            <summary>
            等待数据对象
            </summary>
        </member>
        <member name="T:TouchSocket.Core.WaitDataStatus">
            <summary>
            等待数据状态
            </summary>
        </member>
        <member name="F:TouchSocket.Core.WaitDataStatus.Default">
            <summary>
            默认
            </summary>
        </member>
        <member name="F:TouchSocket.Core.WaitDataStatus.SetRunning">
            <summary>
            收到信号运行
            </summary>
        </member>
        <member name="F:TouchSocket.Core.WaitDataStatus.Overtime">
            <summary>
            超时
            </summary>
        </member>
        <member name="F:TouchSocket.Core.WaitDataStatus.Canceled">
            <summary>
            已取消
            </summary>
        </member>
        <member name="F:TouchSocket.Core.WaitDataStatus.Disposed">
            <summary>
            已释放
            </summary>
        </member>
        <member name="T:TouchSocket.Core.WaitDataStatusExtension">
            <summary>
            WaitDataStatusExtension
            </summary>
        </member>
        <member name="M:TouchSocket.Core.WaitDataStatusExtension.ThrowIfNotRunning(TouchSocket.Core.WaitDataStatus)">
            <summary>
            当状态不是<see cref="F:TouchSocket.Core.WaitDataStatus.SetRunning"/>时抛出异常。
            </summary>
            <param name="status"></param>
        </member>
        <member name="T:TouchSocket.Core.WaitHandlePool`1">
            <summary>
            等待处理数据
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="M:TouchSocket.Core.WaitHandlePool`1.#ctor">
            <summary>
            构造函数
            </summary>
        </member>
        <member name="P:TouchSocket.Core.WaitHandlePool`1.MaxSign">
            <summary>
            最大Sign
            </summary>
        </member>
        <member name="P:TouchSocket.Core.WaitHandlePool`1.MinSign">
            <summary>
            最小Sign
            </summary>
        </member>
        <member name="M:TouchSocket.Core.WaitHandlePool`1.CancelAll">
            <summary>
            取消全部
            </summary>
        </member>
        <member name="M:TouchSocket.Core.WaitHandlePool`1.Destroy(TouchSocket.Core.WaitData{`0})">
            <summary>
            销毁
            </summary>
            <param name="waitData"></param>
        </member>
        <member name="M:TouchSocket.Core.WaitHandlePool`1.Destroy(TouchSocket.Core.WaitDataAsync{`0})">
            <summary>
            销毁
            </summary>
            <param name="waitData"></param>
        </member>
        <member name="M:TouchSocket.Core.WaitHandlePool`1.GetReverseWaitData(`0,System.Boolean)">
            <summary>
             获取一个Sign为负数的可等待对象
            </summary>
            <param name="result"></param>
            <param name="autoSign">设置为false时，不会生成sign</param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.WaitHandlePool`1.GetReverseWaitData(System.Int64@)">
            <summary>
            获取一个Sign为负数的可等待对象
            </summary>
            <param name="sign"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.WaitHandlePool`1.GetReverseWaitDataAsync(`0,System.Boolean)">
            <summary>
             获取一个Sign为负数的可等待对象
            </summary>
            <param name="result"></param>
            <param name="autoSign">设置为false时，不会生成sign</param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.WaitHandlePool`1.GetReverseWaitDataAsync(System.Int64@)">
            <summary>
             获取一个Sign为负数的可等待对象
            </summary>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.WaitHandlePool`1.GetWaitData(`0,System.Boolean)">
            <summary>
             获取一个可等待对象
            </summary>
            <param name="result"></param>
            <param name="autoSign">设置为false时，不会生成sign</param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.WaitHandlePool`1.GetWaitData(System.Int64@)">
            <summary>
            获取一个可等待对象。并out返回标识。
            </summary>
            <param name="sign"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.WaitHandlePool`1.GetWaitDataAsync(`0,System.Boolean)">
            <summary>
             获取一个可等待对象
            </summary>
            <param name="result"></param>
            <param name="autoSign">设置为false时，不会生成sign</param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.WaitHandlePool`1.GetWaitDataAsync(System.Int64@)">
            <summary>
             获取一个可等待对象
            </summary>
            <param name="sign"></param>
            <returns></returns>
        </member>
        <member name="M:TouchSocket.Core.WaitHandlePool`1.SetRun(System.Int64)">
            <summary>
            让等待对象恢复运行
            </summary>
            <param name="sign"></param>
        </member>
        <member name="M:TouchSocket.Core.WaitHandlePool`1.SetRun(System.Int64,`0)">
            <summary>
            让等待对象恢复运行
            </summary>
            <param name="sign"></param>
            <param name="waitResult"></param>
        </member>
        <member name="M:TouchSocket.Core.WaitHandlePool`1.SetRun(`0)">
            <summary>
            让等待对象恢复运行
            </summary>
            <param name="waitResult"></param>
        </member>
        <member name="M:TouchSocket.Core.WaitHandlePool`1.Dispose(System.Boolean)">
            <summary>
            <inheritdoc/>
            </summary>
            <param name="disposing"></param>
        </member>
        <member name="T:TouchSocket.Core.WaitResult">
            <summary>
            等待返回类
            </summary>
        </member>
        <member name="P:TouchSocket.Core.WaitResult.Message">
            <summary>
            消息
            </summary>
        </member>
        <member name="P:TouchSocket.Core.WaitResult.Sign">
            <summary>
            标记号
            </summary>
        </member>
        <member name="P:TouchSocket.Core.WaitResult.Status">
            <summary>
            状态
            </summary>
        </member>
        <member name="T:TouchSocket.Resources.TouchSocketCoreResource">
            <summary>
            TouchSocketCore资源枚举
            </summary>
        </member>
        <member name="F:TouchSocket.Resources.TouchSocketCoreResource.UnknownError">
            <summary>
            未知错误
            </summary>
        </member>
        <member name="F:TouchSocket.Resources.TouchSocketCoreResource.Success">
            <summary>
            操作成功
            </summary>
        </member>
        <member name="F:TouchSocket.Resources.TouchSocketCoreResource.Overtime">
            <summary>
            操作超时
            </summary>
        </member>
        <member name="F:TouchSocket.Resources.TouchSocketCoreResource.Canceled">
            <summary>
            用户主动取消操作。
            </summary>
        </member>
        <member name="F:TouchSocket.Resources.TouchSocketCoreResource.ArgumentNull">
            <summary>
            参数‘{0}’为空。
            </summary>
        </member>
        <member name="F:TouchSocket.Resources.TouchSocketCoreResource.Exception">
             <summary>
            发生异常，信息：{0}。
             </summary>
        </member>
        <member name="F:TouchSocket.Resources.TouchSocketCoreResource.TokenExisted">
            <summary>
            Token消息为‘{0}’的已注册。
            </summary>
        </member>
        <member name="F:TouchSocket.Resources.TouchSocketCoreResource.MessageNotFound">
            <summary>
            Token消息为‘{0}’的未注册。
            </summary>
        </member>
        <member name="F:TouchSocket.Resources.TouchSocketCoreResource.UnregisteredType">
            <summary>
            无法创建未被注册的类型{0}的实例。
            </summary>
        </member>
        <member name="F:TouchSocket.Resources.TouchSocketCoreResource.NotFindPublicConstructor">
            <summary>
            没有找到类型{0}的公共构造函数。
            </summary>
        </member>
        <member name="F:TouchSocket.Resources.TouchSocketCoreResource.StreamReferencing">
            <summary>
            路径‘{0}’对应的流文件，仍然被‘{1}’对象应用。
            </summary>
        </member>
        <member name="F:TouchSocket.Resources.TouchSocketCoreResource.StreamNotFind">
             <summary>
            没有找到路径‘{0}’对应的流文件。
             </summary>
        </member>
        <member name="F:TouchSocket.Resources.TouchSocketCoreResource.FileNotExists">
            <summary>
            文件‘{0}’不存在。
            </summary>
        </member>
        <member name="T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes">
            <summary>
            
            </summary>
        </member>
        <member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.All">
            <summary>
            Specifies all members.
            </summary>
        </member>
        <member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.None">
            <summary>
            Specifies no members.
            </summary>
        </member>
        <member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicParameterlessConstructor">
            <summary>
            Specifies the default, parameterless public constructor.
            </summary>
        </member>
        <member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicConstructors">
            <summary>
            Specifies all public constructors.
            </summary>
        </member>
        <member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicConstructors">
            <summary>
            Specifies all non-public constructors.
            </summary>
        </member>
        <member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicMethods">
            <summary>
            Specifies all public methods.
            </summary>
        </member>
        <member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicMethods">
            <summary>
            Specifies all non-public methods.
            </summary>
        </member>
        <member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicFields">
            <summary>
            Specifies all public fields.
            </summary>
        </member>
        <member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicFields">
            <summary>
            Specifies all non-public fields.
            </summary>
        </member>
        <member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicNestedTypes">
            <summary>
            Specifies all public nested types.
            </summary>
        </member>
        <member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicNestedTypes">
            <summary>
            Specifies all non-public nested types.
            </summary>
        </member>
        <member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicProperties">
            <summary>
            Specifies all public properties.
            </summary>
        </member>
        <member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicProperties">
            <summary>
            Specifies all non-public properties.
            </summary>
        </member>
        <member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicEvents">
            <summary>
            Specifies all public events.
            </summary>
        </member>
        <member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicEvents">
            <summary>
            Specifies all non-public events.
            </summary>
        </member>
        <member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.Interfaces">
            <summary>
            Specifies all interfaces implemented by the type.
            </summary>
        </member>
        <member name="T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute">
            <summary>
            Indicates that certain members on a specified System.Type are accessed dynamically,
            </summary>
        </member>
        <member name="M:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute.#ctor(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes)">
            <summary>
            Initializes a new instance of the System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute
            </summary>
            <param name="memberTypes"></param>
        </member>
        <member name="P:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute.MemberTypes">
            <summary>
             Gets the System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes that
            </summary>
        </member>
    </members>
</doc>
