You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Aucma.Scada/packages/TouchSocket.Core.2.0.2/lib/netstandard2.0/TouchSocket.Core.xml

11587 lines
468 KiB
XML

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<?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=1b=2交换后a=2b=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,System.String)">
<summary>
格林尼治标准时间
</summary>
<param name="dt"></param>
<param name="v"></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>
转化为文件大小的字符串类似10B10Kb10Mb10Gb。
</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="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>