Sfoglia il codice sorgente

Merge pull request #23 from neusoft1024/dev-pr

Dev pr
懒得勤快 5 anni fa
parent
commit
e213f30cc8
100 ha cambiato i file con 7632 aggiunte e 52 eliminazioni
  1. 51 0
      Masuit.Tools.Abstractions/Config/CoreConfig.cs
  2. 0 0
      Masuit.Tools.Abstractions/Database/DataExt.cs
  3. 0 0
      Masuit.Tools.Abstractions/Database/DataTableBuilder.cs
  4. 0 0
      Masuit.Tools.Abstractions/Database/DataTableHelper.cs
  5. 0 0
      Masuit.Tools.Abstractions/DateTimeExt/ChineseCalendar.cs
  6. 0 0
      Masuit.Tools.Abstractions/DateTimeExt/DateInfoStruct.cs
  7. 0 0
      Masuit.Tools.Abstractions/DateTimeExt/DateTimeHelper.cs
  8. 0 0
      Masuit.Tools.Abstractions/DateTimeExt/DateUtil.cs
  9. 0 0
      Masuit.Tools.Abstractions/DateTimeExt/TimeHelper.cs
  10. 0 0
      Masuit.Tools.Abstractions/DateTimeExt/WeekHolidayStruct.cs
  11. 20 0
      Masuit.Tools.Abstractions/Extensions/BaseType/BigIntegerExtensions.cs
  12. 15 0
      Masuit.Tools.Abstractions/Extensions/BaseType/DoubleExtensions.cs
  13. 25 0
      Masuit.Tools.Abstractions/Extensions/BaseType/IConvertibleExtensions.cs
  14. 90 0
      Masuit.Tools.Abstractions/Extensions/BaseType/IDictionaryExtensions.cs
  15. 214 0
      Masuit.Tools.Abstractions/Extensions/BaseType/IEnumerableExtensions.cs
  16. 43 0
      Masuit.Tools.Abstractions/Extensions/BaseType/IEnumerableExtensions.old.cs
  17. 48 0
      Masuit.Tools.Abstractions/Extensions/BaseType/IPAddressExtensions.cs
  18. 31 0
      Masuit.Tools.Abstractions/Extensions/BaseType/IntExtensions.cs
  19. 30 0
      Masuit.Tools.Abstractions/Extensions/BaseType/LongExtensions.cs
  20. 195 0
      Masuit.Tools.Abstractions/Extensions/BaseType/ObjectExtensions.cs
  21. 86 0
      Masuit.Tools.Abstractions/Extensions/BaseType/ObjectExtensions.old.cs
  22. 34 0
      Masuit.Tools.Abstractions/Extensions/BaseType/RandomExtensions.cs
  23. 17 0
      Masuit.Tools.Abstractions/Extensions/BaseType/ShortExtensions.cs
  24. 34 0
      Masuit.Tools.Abstractions/Extensions/BaseType/StreamExtensions.cs
  25. 473 0
      Masuit.Tools.Abstractions/Extensions/BaseType/StringExtensions.cs
  26. 32 0
      Masuit.Tools.Abstractions/Extensions/BaseType/StringExtensions.old.cs
  27. 132 0
      Masuit.Tools.Abstractions/Extensions/BaseType/ValueTypeConvertExtensions.cs
  28. 8 6
      Masuit.Tools.Abstractions/Files/FileExt.cs
  29. 0 0
      Masuit.Tools.Abstractions/Files/INIFile.cs
  30. 0 0
      Masuit.Tools.Abstractions/Files/WinrarHelper.cs
  31. 0 0
      Masuit.Tools.Abstractions/Html/HtmlTools.cs
  32. 0 0
      Masuit.Tools.Abstractions/Linq/LinqExtension.cs
  33. 0 0
      Masuit.Tools.Abstractions/Logging/LogInfo.cs
  34. 0 0
      Masuit.Tools.Abstractions/Logging/LogLevel.cs
  35. 0 0
      Masuit.Tools.Abstractions/Logging/LogManager.cs
  36. 0 0
      Masuit.Tools.Abstractions/Mapping/Copier.cs
  37. 0 0
      Masuit.Tools.Abstractions/Mapping/Core/CreateConfig.cs
  38. 0 0
      Masuit.Tools.Abstractions/Mapping/Core/MapperConfiguration.cs
  39. 0 0
      Masuit.Tools.Abstractions/Mapping/Core/MapperConfigurationBase.cs
  40. 0 0
      Masuit.Tools.Abstractions/Mapping/Core/MapperConfigurationCollectionContainer.cs
  41. 0 0
      Masuit.Tools.Abstractions/Mapping/Core/PropertiesNotMapped.cs
  42. 0 0
      Masuit.Tools.Abstractions/Mapping/Core/TypePairMapper.cs
  43. 0 0
      Masuit.Tools.Abstractions/Mapping/Exceptions/MapperExceptionBase.cs
  44. 0 0
      Masuit.Tools.Abstractions/Mapping/Exceptions/MapperExistException.cs
  45. 0 0
      Masuit.Tools.Abstractions/Mapping/Exceptions/MapperNotInitializedException.cs
  46. 0 0
      Masuit.Tools.Abstractions/Mapping/Exceptions/NoActionAfterMappingException.cs
  47. 0 0
      Masuit.Tools.Abstractions/Mapping/Exceptions/NoFoundMapperException.cs
  48. 0 0
      Masuit.Tools.Abstractions/Mapping/Exceptions/NotSameTypePropertyException.cs
  49. 0 0
      Masuit.Tools.Abstractions/Mapping/Exceptions/PropertyNoExistException.cs
  50. 0 0
      Masuit.Tools.Abstractions/Mapping/Exceptions/ReadOnlyPropertyException.cs
  51. 0 0
      Masuit.Tools.Abstractions/Mapping/ExpressionCpoier.cs
  52. 0 0
      Masuit.Tools.Abstractions/Mapping/ExpressionMapper.cs
  53. 0 0
      Masuit.Tools.Abstractions/Mapping/Extensions/ExpressionExtentions.cs
  54. 0 0
      Masuit.Tools.Abstractions/Mapping/Extensions/QueryableExtentions.cs
  55. 0 0
      Masuit.Tools.Abstractions/Mapping/Helper/MapperHelper.cs
  56. 0 0
      Masuit.Tools.Abstractions/Mapping/Helper/TypeSystem.cs
  57. 0 0
      Masuit.Tools.Abstractions/Mapping/Visitor/ChangParameterExpressionVisitor.cs
  58. 0 0
      Masuit.Tools.Abstractions/Mapping/Visitor/ConverterExpressionVisitor.cs
  59. 0 0
      Masuit.Tools.Abstractions/Mapping/Visitor/MapperExpressionVisitor.cs
  60. 0 0
      Masuit.Tools.Abstractions/Mapping/Visitor/PropertiesVisitor.cs
  61. 41 0
      Masuit.Tools.Abstractions/Masuit.Tools.Abstractions.csproj
  62. 5755 0
      Masuit.Tools.Abstractions/Masuit.Tools.Abstractions.xml
  63. 0 0
      Masuit.Tools.Abstractions/Maths/Point2D.cs
  64. 0 0
      Masuit.Tools.Abstractions/Maths/RadarChart.cs
  65. 0 0
      Masuit.Tools.Abstractions/Maths/RadarChartEngine.cs
  66. 0 0
      Masuit.Tools.Abstractions/Maths/Vector2D.cs
  67. 0 0
      Masuit.Tools.Abstractions/Media/ImageUtilities.cs
  68. 0 0
      Masuit.Tools.Abstractions/Media/ImageWatermarker.cs
  69. 0 0
      Masuit.Tools.Abstractions/Media/ThumbnailCutMode.cs
  70. 0 0
      Masuit.Tools.Abstractions/Media/WatermarkPosition.cs
  71. 64 0
      Masuit.Tools.Abstractions/Models/AddressComponent.cs
  72. 47 0
      Masuit.Tools.Abstractions/Models/AddressResult.cs
  73. 0 0
      Masuit.Tools.Abstractions/Models/AsposeLicense.cs
  74. 0 0
      Masuit.Tools.Abstractions/Models/BaiduIP.cs
  75. 0 0
      Masuit.Tools.Abstractions/Models/Email.cs
  76. 0 0
      Masuit.Tools.Abstractions/Models/IspInfo.cs
  77. 22 0
      Masuit.Tools.Abstractions/Models/Location.cs
  78. 0 0
      Masuit.Tools.Abstractions/Models/PagedList.cs
  79. 22 0
      Masuit.Tools.Abstractions/Models/PhysicsAddress.cs
  80. 52 0
      Masuit.Tools.Abstractions/Models/Pois.cs
  81. 0 0
      Masuit.Tools.Abstractions/Models/TaobaoIP.cs
  82. 0 0
      Masuit.Tools.Abstractions/Net/FtpClient.cs
  83. 0 0
      Masuit.Tools.Abstractions/Net/MultiThreadDownloader.cs
  84. 0 0
      Masuit.Tools.Abstractions/Net/PartialDownloader.cs
  85. 0 0
      Masuit.Tools.Abstractions/Net/SocketClient.cs
  86. 0 0
      Masuit.Tools.Abstractions/RandomSelector/Extensions.cs
  87. 0 0
      Masuit.Tools.Abstractions/RandomSelector/MultipleSelector.cs
  88. 0 0
      Masuit.Tools.Abstractions/RandomSelector/SelectorBase.cs
  89. 0 0
      Masuit.Tools.Abstractions/RandomSelector/SelectorOptions.cs
  90. 0 0
      Masuit.Tools.Abstractions/RandomSelector/SingleSelector.cs
  91. 0 0
      Masuit.Tools.Abstractions/RandomSelector/WeightedItem.cs
  92. 0 0
      Masuit.Tools.Abstractions/RandomSelector/WeightedSelector.cs
  93. 0 0
      Masuit.Tools.Abstractions/Security/Crc32.cs
  94. 0 0
      Masuit.Tools.Abstractions/Security/Crc64.cs
  95. 0 0
      Masuit.Tools.Abstractions/Security/Encrypt.cs
  96. 0 0
      Masuit.Tools.Abstractions/Security/HashEncode.cs
  97. 0 0
      Masuit.Tools.Abstractions/Security/RSA.cs
  98. 24 46
      Masuit.Tools.Abstractions/Security/RSACrypt.cs
  99. 18 0
      Masuit.Tools.Abstractions/Security/RsaKey.cs
  100. 9 0
      Masuit.Tools.Abstractions/Security/RsaKeyType.cs

+ 51 - 0
Masuit.Tools.Abstractions/Config/CoreConfig.cs

@@ -0,0 +1,51 @@
+#if NET461
+
+using System.Configuration;
+
+namespace Masuit.Tools.Core.Config
+{
+    public static class ConfigHelper
+    {
+        public static string GetConfigOrDefault(string key, string defaultValue = "")
+        {
+            return ConfigurationManager.AppSettings.Get(key) ?? defaultValue;
+        }
+    }
+}
+
+#else
+
+using System;
+using Microsoft.Extensions.Configuration;
+
+namespace Masuit.Tools.Core.Config
+{
+    /// <summary>
+    /// .net core的配置导入
+    /// </summary>
+    public static class ConfigHelper
+    {
+        /// <summary>
+        /// 配置对象
+        /// </summary>
+        public static IConfiguration Configuration = new ConfigurationBuilder()
+            .SetBasePath(AppContext.BaseDirectory)
+            .AddJsonFile("appsettings.json", true, true)
+            .Build();
+
+        public static string GetConfigOrDefault(string key, string defaultValue = "")
+        {
+            string config = ConfigHelper.Configuration[key];
+            if (config.IsNullOrEmpty())
+            {
+                return defaultValue;
+            }
+            else
+            {
+                return config;
+            }
+        }
+    }
+}
+
+#endif

+ 0 - 0
Masuit.Tools/Database/DataExt.cs → Masuit.Tools.Abstractions/Database/DataExt.cs


+ 0 - 0
Masuit.Tools/Database/DataTableBuilder.cs → Masuit.Tools.Abstractions/Database/DataTableBuilder.cs


+ 0 - 0
Masuit.Tools/Database/DataTableHelper.cs → Masuit.Tools.Abstractions/Database/DataTableHelper.cs


+ 0 - 0
Masuit.Tools/DateTimeExt/ChineseCalendar.cs → Masuit.Tools.Abstractions/DateTimeExt/ChineseCalendar.cs


+ 0 - 0
Masuit.Tools/DateTimeExt/DateInfoStruct.cs → Masuit.Tools.Abstractions/DateTimeExt/DateInfoStruct.cs


+ 0 - 0
Masuit.Tools/DateTimeExt/DateTimeHelper.cs → Masuit.Tools.Abstractions/DateTimeExt/DateTimeHelper.cs


+ 0 - 0
Masuit.Tools/DateTimeExt/DateUtil.cs → Masuit.Tools.Abstractions/DateTimeExt/DateUtil.cs


+ 0 - 0
Masuit.Tools/DateTimeExt/TimeHelper.cs → Masuit.Tools.Abstractions/DateTimeExt/TimeHelper.cs


+ 0 - 0
Masuit.Tools/DateTimeExt/WeekHolidayStruct.cs → Masuit.Tools.Abstractions/DateTimeExt/WeekHolidayStruct.cs


+ 20 - 0
Masuit.Tools.Abstractions/Extensions/BaseType/BigIntegerExtensions.cs

@@ -0,0 +1,20 @@
+using System.Numerics;
+using Masuit.Tools.Strings;
+
+namespace Masuit.Tools
+{
+    public static class BigIntegerExtensions
+    {
+        /// <summary>
+        /// 十进制转任意进制
+        /// </summary>
+        /// <param name="num"></param>
+        /// <param name="bin">进制</param>
+        /// <returns></returns>
+        public static string ToBinary(this BigInteger num, int bin)
+        {
+            var nf = new NumberFormater(bin);
+            return nf.ToString(num);
+        }
+    }
+}

+ 15 - 0
Masuit.Tools.Abstractions/Extensions/BaseType/DoubleExtensions.cs

@@ -0,0 +1,15 @@
+namespace Masuit.Tools
+{
+    public static class DoubleExtensions
+    {
+        /// <summary>
+        /// 将小数截断为8位
+        /// </summary>
+        /// <param name="num"></param>
+        /// <returns></returns>
+        public static double Digits8(this double num)
+        {
+            return (long)(num * 1E+8) * 1e-8;
+        }
+    }
+}

+ 25 - 0
Masuit.Tools.Abstractions/Extensions/BaseType/IConvertibleExtensions.cs

@@ -0,0 +1,25 @@
+using System;
+
+namespace Masuit.Tools
+{
+    public static class IConvertibleExtensions
+    {
+        /// <summary>
+        /// 类型直转
+        /// </summary>
+        /// <typeparam name="T"></typeparam>
+        /// <param name="value"></param>
+        /// <returns></returns>
+        public static T To<T>(this IConvertible value)
+        {
+            try
+            {
+                return (T)Convert.ChangeType(value, typeof(T));
+            }
+            catch
+            {
+                return default;
+            }
+        }
+    }
+}

+ 90 - 0
Masuit.Tools.Abstractions/Extensions/BaseType/IDictionaryExtensions.cs

@@ -0,0 +1,90 @@
+using System;
+using System.Collections.Generic;
+
+namespace Masuit.Tools
+{
+    public static class IDictionaryExtensions
+    {
+        /// <summary>
+        /// 添加或更新键值对
+        /// </summary>
+        /// <typeparam name="TKey"></typeparam>
+        /// <typeparam name="TValue"></typeparam>
+        /// <param name="this"></param>
+        /// <param name="key">键</param>
+        /// <param name="value">值</param>
+        /// <returns></returns>
+        public static TValue AddOrUpdate<TKey, TValue>(
+            this IDictionary<TKey, TValue> @this,
+            TKey key,
+            TValue value)
+        {
+            if ([email protected](key))
+            {
+                @this.Add(new KeyValuePair<TKey, TValue>(key, value));
+            }
+            else
+            {
+                @this[key] = value;
+            }
+
+            return @this[key];
+        }
+
+        /// <summary>
+        /// 添加或更新键值对
+        /// </summary>
+        /// <typeparam name="TKey"></typeparam>
+        /// <typeparam name="TValue"></typeparam>
+        /// <param name="this"></param>
+        /// <param name="key">键</param>
+        /// <param name="addValue">添加时的值</param>
+        /// <param name="updateValueFactory">更新时的操作</param>
+        /// <returns></returns>
+        public static TValue AddOrUpdate<TKey, TValue>(
+            this IDictionary<TKey, TValue> @this,
+            TKey key,
+            TValue addValue,
+            Func<TKey, TValue, TValue> updateValueFactory)
+        {
+            if ([email protected](key))
+            {
+                @this.Add(new KeyValuePair<TKey, TValue>(key, addValue));
+            }
+            else
+            {
+                @this[key] = updateValueFactory(key, @this[key]);
+            }
+
+            return @this[key];
+        }
+
+        /// <summary>
+        /// 添加或更新键值对
+        /// </summary>
+        /// <typeparam name="TKey"></typeparam>
+        /// <typeparam name="TValue"></typeparam>
+        /// <param name="this"></param>
+        /// <param name="key">键</param>
+        /// <param name="addValueFactory">添加时的操作</param>
+        /// <param name="updateValueFactory">更新时的操作</param>
+        /// <returns></returns>
+        public static TValue AddOrUpdate<TKey, TValue>(
+            this IDictionary<TKey, TValue> @this,
+            TKey key,
+            Func<TKey, TValue> addValueFactory,
+            Func<TKey, TValue, TValue> updateValueFactory)
+        {
+            if ([email protected](key))
+            {
+                @this.Add(new KeyValuePair<TKey, TValue>(key, addValueFactory(key)));
+            }
+            else
+            {
+                @this[key] = updateValueFactory(key, @this[key]);
+            }
+
+            return @this[key];
+        }
+    }
+}

+ 214 - 0
Masuit.Tools.Abstractions/Extensions/BaseType/IEnumerableExtensions.cs

@@ -0,0 +1,214 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Linq;
+using System.Threading.Tasks;
+
+namespace Masuit.Tools
+{
+    public static partial class IEnumerableExtensions
+    {
+        #region SyncForEach
+
+        /// <summary>
+        /// 遍历IEnumerable
+        /// </summary>
+        /// <param name="objs"></param>
+        /// <param name="action">回调方法</param>
+        /// <typeparam name="T"></typeparam>
+        public static void ForEach<T>(this IEnumerable<T> objs, Action<T> action)
+        {
+            foreach (var o in objs)
+            {
+                action(o);
+            }
+        }
+
+        /// <summary>
+        /// 遍历IEnumerable并返回一个新的IEnumerable
+        /// </summary>
+        /// <param name="objs"></param>
+        /// <param name="action">回调方法</param>
+        /// <typeparam name="T"></typeparam>
+        /// <returns></returns>
+        public static IEnumerable<TOutput> ForEach<TInput, TOutput>(this IEnumerable<TInput> objs, Func<TInput, TOutput> action)
+        {
+            foreach (var o in objs)
+            {
+                yield return action(o);
+            }
+        }
+
+        #endregion SyncForEach
+
+        #region AsyncForEach
+
+        /// <summary>
+        /// 遍历IEnumerable
+        /// </summary>
+        /// <param name="objs"></param>
+        /// <param name="action">回调方法</param>
+        /// <typeparam name="T"></typeparam>
+        public static async void ForEachAsync<T>(this IEnumerable<T> objs, Action<T> action)
+        {
+            await Task.Run(() =>
+            {
+                Parallel.ForEach(objs, action);
+            });
+        }
+
+        #endregion AsyncForEach
+
+        #region To方法
+
+        /// <summary>
+        /// 【内部方法】集合接口转具体实现
+        /// </summary>
+        /// <typeparam name="TSource"></typeparam>
+        /// <typeparam name="TResult"></typeparam>
+        /// <typeparam name="TArray"></typeparam>
+        /// <param name="source"></param>
+        /// <param name="selector"></param>
+        /// <param name="converter"></param>
+        /// <param name="defaultValueFunc">当<paramref name="source"/>为<see cref="null"/>时,会调用此委托生成默认值</param>
+        /// <returns></returns>
+        private static TArray IEnumerableBaseTo<TSource, TResult, TArray>(
+          IEnumerable<TSource> source,
+          Func<TSource, TResult> selector,
+          Func<IEnumerable<TResult>, TArray> converter,
+          Func<TArray> defaultValueFunc)
+        {
+            selector.CheckNullWithException(nameof(selector));
+
+            return source == null
+                ? defaultValueFunc()
+                : converter(source.Select(selector));
+        }
+
+        /// <summary>
+        /// Select+ToList的组合版本
+        /// </summary>
+        /// <typeparam name="TSource"></typeparam>
+        /// <typeparam name="TResult"></typeparam>
+        /// <param name="source"></param>
+        /// <param name="selector"></param>
+        /// <param name="defaultValue">当<paramref name="source"/>为<see cref="null"/>时,返回的值.默认值为:0长度的<see cref="List{T}"/></param>
+        /// <returns></returns>
+        public static List<TResult> ToList<TSource, TResult>(
+            this IEnumerable<TSource> source,
+            Func<TSource, TResult> selector,
+            List<TResult>? defaultValue = null)
+        {
+            return IEnumerableBaseTo(
+                source: source,
+                selector: selector,
+                converter: Enumerable.ToList,
+                defaultValueFunc: () => defaultValue ?? new List<TResult>());
+        }
+
+        /// <summary>
+        /// Select+ToList的组合版本(异步)
+        /// </summary>
+        /// <typeparam name="TSource"></typeparam>
+        /// <typeparam name="TResult"></typeparam>
+        /// <param name="source"></param>
+        /// <param name="selector"></param>
+        /// <param name="defaultValue">当<paramref name="source"/>为<see cref="null"/>时,返回的值.默认值为:0长度的<see cref="List{T}"/></param>
+        /// <returns></returns>
+        public static Task<List<TResult>> ToListAsync<TSource, TResult>(
+            this IEnumerable<TSource> source,
+            Func<TSource, TResult> selector,
+            List<TResult>? defaultValue = null)
+        {
+            return Task.Run(() =>
+            {
+                return IEnumerableExtensions.ToList<TSource, TResult>(
+                    source: source,
+                    selector: selector,
+                    defaultValue: defaultValue);
+            });
+        }
+
+        #endregion To方法
+
+        /// <summary>
+        /// 按字段去重
+        /// </summary>
+        /// <typeparam name="TSource"></typeparam>
+        /// <typeparam name="TKey"></typeparam>
+        /// <param name="source"></param>
+        /// <param name="keySelector"></param>
+        /// <returns></returns>
+        public static IEnumerable<TSource> DistinctBy<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector)
+        {
+            HashSet<TKey> hash = new HashSet<TKey>();
+            return source.Where(p => hash.Add(keySelector(p)));
+        }
+
+        /// <summary>
+        /// 添加多个元素
+        /// </summary>
+        /// <typeparam name="T"></typeparam>
+        /// <param name="this"></param>
+        /// <param name="values"></param>
+        public static void AddRange<T>(this ICollection<T> @this, params T[] values)
+        {
+            foreach (var obj in values)
+            {
+                @this.Add(obj);
+            }
+        }
+
+        /// <summary>
+        /// 添加符合条件的多个元素
+        /// </summary>
+        /// <typeparam name="T"></typeparam>
+        /// <param name="this"></param>
+        /// <param name="predicate"></param>
+        /// <param name="values"></param>
+        public static void AddRangeIf<T>(
+            this ICollection<T> @this,
+            Func<T, bool> predicate,
+            params T[] values)
+        {
+            foreach (var obj in values)
+            {
+                if (predicate(obj))
+                {
+                    @this.Add(obj);
+                }
+            }
+        }
+
+        /// <summary>
+        /// 添加不重复的元素
+        /// </summary>
+        /// <typeparam name="T"></typeparam>
+        /// <param name="this"></param>
+        /// <param name="values"></param>
+        public static void AddRangeIfNotContains<T>(this ICollection<T> @this, params T[] values)
+        {
+            foreach (T obj in values)
+            {
+                if ([email protected](obj))
+                {
+                    @this.Add(obj);
+                }
+            }
+        }
+
+        /// <summary>
+        /// 移除符合条件的元素
+        /// </summary>
+        /// <typeparam name="T"></typeparam>
+        /// <param name="this"></param>
+        /// <param name="where"></param>
+        public static void RemoveWhere<T>(this ICollection<T> @this, Func<T, bool> @where)
+        {
+            foreach (var obj in @this.Where(where).ToList())
+            {
+                @this.Remove(obj);
+            }
+        }
+    }
+}

+ 43 - 0
Masuit.Tools.Abstractions/Extensions/BaseType/IEnumerableExtensions.old.cs

@@ -0,0 +1,43 @@
+using System;
+using System.Collections.Generic;
+
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Masuit.Tools
+{
+    public static partial class IEnumerableExtensions
+    {
+        /// <summary>
+        /// 映射到目标类型的集合
+        /// </summary>
+        /// <param name="source">源</param>
+        /// <typeparam name="TDestination">目标类型</typeparam>
+        /// <returns>目标类型集合</returns>
+        [Obsolete("请改用新ToList方法,自行传递clone方法")]
+        public static IEnumerable<TDestination> ToList<TSource, TDestination>(this IEnumerable<TSource> source)
+            where TDestination : new()
+        {
+            return IEnumerableExtensions.ToList<TSource, TDestination>(
+                source: source,
+                selector: t => t.Clone<TDestination>(),
+                defaultValue: null);
+        }
+
+        /// <summary>
+        /// 映射到目标类型的集合
+        /// </summary>
+        /// <param name="source">源</param>
+        /// <typeparam name="TDestination">目标类型</typeparam>
+        /// <returns>目标类型集合</returns>
+        [Obsolete("请改用新ToListAsync方法,自行传递clone方法")]
+        public static Task<IEnumerable<TDestination>> ToListAsync<TSource, TDestination>(this IEnumerable<TSource> source)
+            where TDestination : new()
+        {
+            return Task.Run(() =>
+            {
+                return source.ToList<TSource, TDestination>();
+            });
+        }
+    }
+}

+ 48 - 0
Masuit.Tools.Abstractions/Extensions/BaseType/IPAddressExtensions.cs

@@ -0,0 +1,48 @@
+using System;
+using System.Collections.Generic;
+using System.Net;
+using System.Net.Sockets;
+using System.Text;
+
+namespace Masuit.Tools
+{
+    public static class IPAddressExtensions
+    {
+        /// <summary>
+        /// 判断IP是否是私有地址
+        /// </summary>
+        /// <param name="myIPAddress"></param>
+        /// <returns></returns>
+        public static bool IsPrivateIP(this IPAddress myIPAddress)
+        {
+            if (IPAddress.IsLoopback(myIPAddress)) return true;
+
+            if (myIPAddress.AddressFamily == AddressFamily.InterNetwork)
+            {
+                byte[] ipBytes = myIPAddress.GetAddressBytes();
+
+                // 10.0.0.0/24
+                if (ipBytes[0] == 10)
+                {
+                    return true;
+                }
+                // 169.254.0.0/16
+                if (ipBytes[0] == 169 && ipBytes[1] == 254)
+                {
+                    return true;
+                }
+                // 172.16.0.0/16
+                if (ipBytes[0] == 172 && ipBytes[1] == 16)
+                {
+                    return true;
+                }
+                // 192.168.0.0/16
+                if (ipBytes[0] == 192 && ipBytes[1] == 168)
+                {
+                    return true;
+                }
+            }
+            return false;
+        }
+    }
+}

+ 31 - 0
Masuit.Tools.Abstractions/Extensions/BaseType/IntExtensions.cs

@@ -0,0 +1,31 @@
+using System;
+using Masuit.Tools.Strings;
+
+namespace Masuit.Tools
+{
+    public static  class IntExtensions
+    {
+        /// <summary>
+        /// 转换成字节数组
+        /// </summary>
+        /// <param name="value"></param>
+        /// <returns></returns>
+        public static byte[] GetBytes(this int value)
+        {
+            return BitConverter.GetBytes(value);
+        }
+
+        /// <summary>
+        /// 十进制转任意进制
+        /// </summary>
+        /// <param name="num"></param>
+        /// <param name="bin">进制</param>
+        /// <returns></returns>
+        public static string ToBinary(this int num, int bin)
+        {
+            var nf = new NumberFormater(bin);
+            return nf.ToString(num);
+        }
+
+    }
+}

+ 30 - 0
Masuit.Tools.Abstractions/Extensions/BaseType/LongExtensions.cs

@@ -0,0 +1,30 @@
+using System;
+using Masuit.Tools.Strings;
+
+namespace Masuit.Tools
+{
+    public static class LongExtensions
+    {
+        /// <summary>
+        /// 十进制转任意进制
+        /// </summary>
+        /// <param name="num"></param>
+        /// <param name="bin">进制</param>
+        /// <returns></returns>
+        public static string ToBinary(this long num, int bin)
+        {
+            var nf = new NumberFormater(bin);
+            return nf.ToString(num);
+        }
+
+        /// <summary>
+        /// 转换成字节数组
+        /// </summary>
+        /// <param name="value"></param>
+        /// <returns></returns>
+        public static byte[] GetBytes(this long value)
+        {
+            return BitConverter.GetBytes(value);
+        }
+    }
+}

+ 195 - 0
Masuit.Tools.Abstractions/Extensions/BaseType/ObjectExtensions.cs

@@ -0,0 +1,195 @@
+using System;
+using System.Collections;
+using System.Diagnostics;
+using System.IO;
+using System.Linq;
+using System.Net;
+using System.Net.Sockets;
+using System.Numerics;
+using System.Text;
+using System.Text.RegularExpressions;
+using System.Threading.Tasks;
+using DnsClient;
+using Masuit.Tools.Strings;
+using Newtonsoft.Json;
+
+namespace Masuit.Tools
+{
+    public static partial class ObjectExtensions
+    {
+        #region Map
+
+        /// <summary>
+        /// 浅克隆
+        /// </summary>
+        /// <param name="source">源</param>
+        /// <typeparam name="TDestination">目标类型</typeparam>
+        /// <returns>目标类型</returns>
+        public static TDestination Clone<TDestination>(this object source)
+            where TDestination : new()
+        {
+            TDestination dest = new TDestination();
+            dest.GetType().GetProperties().ForEach(p =>
+            {
+                p.SetValue(dest, source.GetType().GetProperty(p.Name)?.GetValue(source));
+            });
+            return dest;
+        }
+
+        /// <summary>
+        /// 深克隆
+        /// </summary>
+        /// <param name="source">源</param>
+        /// <typeparam name="TDestination">目标类型</typeparam>
+        /// <returns>目标类型</returns>
+        public static TDestination DeepClone<TDestination>(this object source)
+            where TDestination : new()
+        {
+            return JsonConvert.DeserializeObject<TDestination>(JsonConvert.SerializeObject(source));
+        }
+
+        /// <summary>
+        /// 浅克隆(异步)
+        /// </summary>
+        /// <param name="source">源</param>
+        /// <typeparam name="TDestination">目标类型</typeparam>
+        /// <returns>目标类型</returns>
+        public static Task<TDestination> CloneAsync<TDestination>(this object source)
+            where TDestination : new()
+        {
+            return Task.Run(() =>
+           {
+               return source.Clone<TDestination>();
+           });
+        }
+
+        /// <summary>
+        /// 深克隆(异步)
+        /// </summary>
+        /// <param name="source">源</param>
+        /// <typeparam name="TDestination">目标类型</typeparam>
+        /// <returns>目标类型</returns>
+        public static async Task<TDestination> DeepCloneAsync<TDestination>(this object source)
+            where TDestination : new()
+        {
+            return await Task.Run(() => JsonConvert.DeserializeObject<TDestination>(JsonConvert.SerializeObject(source)));
+        }
+
+        #endregion Map
+
+        #region CheckNull
+
+        /// <summary>
+        /// 检查参数是否为null,为null时抛出异常
+        /// </summary>
+        /// <typeparam name="T"></typeparam>
+        /// <param name="obj">      要检查的对象</param>
+        /// <param name="paramName">抛出异常时,显示的参数名</param>
+        /// <exception cref="ArgumentNullException"><paramref name="obj" /> 为null时抛出</exception>
+        public static void CheckNullWithException<T>(this T obj, string paramName)
+        {
+            if (obj == null) throw new ArgumentNullException(paramName);
+        }
+
+        /// <summary>
+        /// 检查参数是否为null,为null时抛出异常
+        /// </summary>
+        /// <typeparam name="T"></typeparam>
+        /// <param name="obj">      要检查的对象</param>
+        /// <param name="paramName">抛出异常时,显示的参数名</param>
+        /// <param name="message">  抛出异常时,显示的错误信息</param>
+        /// <exception cref="ArgumentNullException"><paramref name="obj" /> 为null时抛出</exception>
+        public static void CheckNullWithException<T>(this T obj, string paramName, string message)
+        {
+            if (obj == null) throw new ArgumentNullException(paramName, message);
+        }
+
+        /// <summary>
+        /// 检查参数是否为null或emtpy,为null或emtpy时抛出异常
+        /// </summary>
+        /// <param name="obj">      要检查的对象</param>
+        /// <param name="paramName">抛出异常时,显示的参数名</param>
+        /// <exception cref="ArgumentNullException"><paramref name="obj" /> 为null或emtpy时抛出</exception>
+        public static void CheckNullOrEmptyWithException(this IEnumerable obj, string paramName)
+        {
+            if (obj.IsNullOrEmpty()) throw new ArgumentNullException(paramName);
+        }
+
+        /// <summary>
+        /// 检查参数是否为null或emtpy,为null或emtpy时抛出异常
+        /// </summary>
+        /// <param name="obj">      要检查的对象</param>
+        /// <param name="paramName">抛出异常时,显示的参数名</param>
+        /// <param name="message">  抛出异常时,显示的错误信息</param>
+        /// <exception cref="ArgumentNullException"><paramref name="obj" /> 为null或emtpy时抛出</exception>
+        public static void CheckNullOrEmptyWithException(this IEnumerable obj, string paramName, string message)
+        {
+            if (obj.IsNullOrEmpty()) throw new ArgumentNullException(paramName, message);
+        }
+
+        #endregion CheckNull
+
+        /// <summary>
+        /// 判断是否为null,null或0长度都返回true
+        /// </summary>
+        /// <typeparam name="T"></typeparam>
+        /// <param name="value"></param>
+        /// <returns></returns>
+        public static bool IsNullOrEmpty<T>(this T value)
+          where T : class?
+        {
+            #region 1.对象级别
+
+            //引用为null
+            bool isObjectNull = value == null;
+            if (isObjectNull == true) return true;
+
+            //判断是否为集合
+            IEnumerator? tempEnumerator = (value as IEnumerable)?.GetEnumerator();
+            if (tempEnumerator == null) return false;//这里出去代表是对象 且 引用不为null.所以为false
+
+            #endregion 1.对象级别
+
+            #region 2.集合级别
+
+            //到这里就代表是集合且引用不为空,判断长度
+            //MoveNext方法返回tue代表集合中至少有一个数据,返回false就代表0长度
+            bool isZeroLenth = tempEnumerator.MoveNext() == false;
+            if (isZeroLenth == true) return true;
+
+            return isZeroLenth;
+
+            #endregion 2.集合级别
+        }
+
+        /// <summary>
+        /// 转换成json字符串
+        /// </summary>
+        /// <param name="source"></param>
+        /// <returns></returns>
+        public static string ToJsonExt<T>(this T obj, JsonSerializerSettings? setting = null)
+        {
+            if (obj == null) return string.Empty;
+
+            if (setting == null)
+            {
+                return JsonConvert.SerializeObject(obj);
+            }
+            else
+            {
+                return JsonConvert.SerializeObject(obj, setting);
+            }
+        }
+
+        /// <summary>
+        /// 严格比较两个对象是否是同一对象(判断引用)
+        /// </summary>
+        /// <param name="this">自己</param>
+        /// <param name="o">需要比较的对象</param>
+        /// <returns>是否同一对象</returns>
+        public new static bool ReferenceEquals(this object @this, object o)
+        {
+            return object.ReferenceEquals(@this, o);
+        }
+    }
+}

+ 86 - 0
Masuit.Tools.Abstractions/Extensions/BaseType/ObjectExtensions.old.cs

@@ -0,0 +1,86 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Text;
+using System.Threading.Tasks;
+using Newtonsoft.Json;
+
+namespace Masuit.Tools
+{
+    public static partial class ObjectExtensions
+    {
+        #region Map
+
+        /// <summary>
+        /// 映射到目标类型(浅克隆)
+        /// </summary>
+        /// <param name="source">源</param>
+        /// <typeparam name="TDestination">目标类型</typeparam>
+        /// <returns>目标类型</returns>
+        [Obsolete("请使用Clone")]
+        public static TDestination MapTo<TDestination>(this object source)
+            where TDestination : new()
+        {
+            return source.Clone<TDestination>();
+        }
+
+        /// <summary>
+        /// 映射到目标类型(深克隆)
+        /// </summary>
+        /// <param name="source">源</param>
+        /// <typeparam name="TDestination">目标类型</typeparam>
+        /// <returns>目标类型</returns>
+        [Obsolete("请使用DeepClone")]
+        public static TDestination Map<TDestination>(this object source)
+            where TDestination : new()
+        {
+            return source.DeepClone<TDestination>();
+        }
+
+        /// <summary>
+        /// 映射到目标类型(浅克隆)
+        /// </summary>
+        /// <param name="source">源</param>
+        /// <typeparam name="TDestination">目标类型</typeparam>
+        /// <returns>目标类型</returns>
+        [Obsolete("请使用CloneAsync")]
+        public static Task<TDestination> MapToAsync<TDestination>(this object source)
+            where TDestination : new()
+        {
+            return Task.Run(() =>
+            {
+                return source.Clone<TDestination>();
+            });
+        }
+
+        /// <summary>
+        /// 映射到目标类型(深克隆)
+        /// </summary>
+        /// <param name="source">源</param>
+        /// <typeparam name="TDestination">目标类型</typeparam>
+        /// <returns>目标类型</returns>
+        [Obsolete("请使用DeepCloneAsync")]
+        public static Task<TDestination> MapAsync<TDestination>(this object source) where TDestination : new()
+        {
+            return source.DeepCloneAsync<TDestination>();
+        }
+
+        #endregion Map
+
+        private static readonly JsonSerializerSettings defaultJsonSettings = new JsonSerializerSettings()
+        {
+            ReferenceLoopHandling = ReferenceLoopHandling.Ignore
+        };
+
+        /// <summary>
+        /// 转换成json字符串
+        /// </summary>
+        /// <param name="source"></param>
+        /// <returns></returns>
+        [Obsolete("请改用ToJsonExt")]
+        public static string ToJsonString(this object source)
+        {
+            return source.ToJsonExt(ObjectExtensions.defaultJsonSettings);
+        }
+    }
+}

+ 34 - 0
Masuit.Tools.Abstractions/Extensions/BaseType/RandomExtensions.cs

@@ -0,0 +1,34 @@
+using System;
+using System.Diagnostics;
+
+namespace Masuit.Tools
+{
+    public static class RandomExtensions
+    {
+        /// <summary>
+        /// 生成真正的随机数
+        /// </summary>
+        /// <param name="r"></param>
+        /// <param name="seed"></param>
+        /// <returns></returns>
+        public static int StrictNext(this Random r, int seed = int.MaxValue)
+        {
+            return new Random((int)Stopwatch.GetTimestamp()).Next(seed);
+        }
+
+        /// <summary>
+        /// 产生正态分布的随机数
+        /// </summary>
+        /// <param name="rand"></param>
+        /// <param name="mean">均值</param>
+        /// <param name="stdDev">方差</param>
+        /// <returns></returns>
+        public static double NextGauss(this Random rand, double mean, double stdDev)
+        {
+            double u1 = 1.0 - rand.NextDouble();
+            double u2 = 1.0 - rand.NextDouble();
+            double randStdNormal = Math.Sqrt(-2.0 * Math.Log(u1)) * Math.Sin(2.0 * Math.PI * u2);
+            return mean + stdDev * randStdNormal;
+        }
+    }
+}

+ 17 - 0
Masuit.Tools.Abstractions/Extensions/BaseType/ShortExtensions.cs

@@ -0,0 +1,17 @@
+using System;
+
+namespace Masuit.Tools
+{
+    public static class ShortExtensions
+    {
+        /// <summary>
+        /// 转换成字节数组
+        /// </summary>
+        /// <param name="value"></param>
+        /// <returns></returns>
+        public static byte[] GetBytes(this short value)
+        {
+            return BitConverter.GetBytes(value);
+        }
+    }
+}

+ 34 - 0
Masuit.Tools.Abstractions/Extensions/BaseType/StreamExtensions.cs

@@ -0,0 +1,34 @@
+using System.IO;
+
+namespace Masuit.Tools
+{
+    public static class StreamExtensions
+    {
+        /// <summary>
+        /// 将流转换为内存流
+        /// </summary>
+        /// <param name="stream"></param>
+        /// <returns></returns>
+        public static MemoryStream SaveAsMemoryStream(this Stream stream)
+        {
+            stream.Position = 0;
+            return new MemoryStream(stream.ToArray());
+        }
+
+        /// <summary>
+        ///
+        /// </summary>
+        /// <param name="stream"></param>
+        /// <returns></returns>
+        public static byte[] ToArray(this Stream stream)
+        {
+            stream.Position = 0;
+            byte[] bytes = new byte[stream.Length];
+            stream.Read(bytes, 0, bytes.Length);
+
+            // 设置当前流的位置为流的开始
+            stream.Seek(0, SeekOrigin.Begin);
+            return bytes;
+        }
+    }
+}

+ 473 - 0
Masuit.Tools.Abstractions/Extensions/BaseType/StringExtensions.cs

@@ -0,0 +1,473 @@
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Linq;
+using System.Net;
+using System.Net.Sockets;
+using System.Numerics;
+using System.Text;
+using System.Text.RegularExpressions;
+using DnsClient;
+using Masuit.Tools.Strings;
+
+namespace Masuit.Tools
+{
+    public static partial class StringExtensions
+    {
+        /// <summary>
+        /// 字符串转时间
+        /// </summary>
+        /// <param name="value"></param>
+        /// <returns></returns>
+        public static DateTime ToDateTime(this string value)
+        {
+            DateTime.TryParse(value, out var result);
+            return result;
+        }
+
+        /// <summary>
+        /// 字符串转Guid
+        /// </summary>
+        /// <param name="s"></param>
+        /// <returns></returns>
+        public static Guid ToGuid(this string s)
+        {
+            return Guid.Parse(s);
+        }
+
+        /// <summary>
+        /// 根据正则替换
+        /// </summary>
+        /// <param name="input"></param>
+        /// <param name="regex">正则表达式</param>
+        /// <param name="replacement">新内容</param>
+        /// <returns></returns>
+        public static string Replace(this string input, Regex regex, string replacement)
+        {
+            return regex.Replace(input, replacement);
+        }
+
+        /// <summary>
+        /// 生成唯一短字符串
+        /// </summary>
+        /// <param name="str"></param>
+        /// <param name="chars">可用字符数数量,0-9,a-z,A-Z</param>
+        /// <returns></returns>
+        public static string CreateShortToken(this string str, byte chars = 36)
+        {
+            var nf = new NumberFormater(chars);
+            return nf.ToString((DateTime.Now.Ticks - 630822816000000000) * 100 + Stopwatch.GetTimestamp() % 100);
+        }
+
+        /// <summary>
+        /// 任意进制转十进制
+        /// </summary>
+        /// <param name="str"></param>
+        /// <param name="bin">进制</param>
+        /// <returns></returns>
+        public static long ToBinary(this string str, int bin)
+        {
+            var nf = new NumberFormater(bin);
+            return nf.FromString(str);
+        }
+
+        /// <summary>
+        /// 任意进制转大数十进制
+        /// </summary>
+        /// <param name="str"></param>
+        /// <param name="bin">进制</param>
+        /// <returns></returns>
+        public static BigInteger ToBinaryBig(this string str, int bin)
+        {
+            var nf = new NumberFormater(bin);
+            return nf.FromStringBig(str);
+        }
+
+        #region 检测字符串中是否包含列表中的关键词
+
+        /// <summary>
+        /// 检测字符串中是否包含列表中的关键词
+        /// </summary>
+        /// <param name="s">源字符串</param>
+        /// <param name="keys">关键词列表</param>
+        /// <param name="ignoreCase">忽略大小写</param>
+        /// <returns></returns>
+        public static bool Contains(this string s, IEnumerable<string> keys, bool ignoreCase = true)
+        {
+            if (!keys.Any() || string.IsNullOrEmpty(s))
+            {
+                return false;
+            }
+
+            if (ignoreCase)
+            {
+                return Regex.IsMatch(s, string.Join("|", keys), RegexOptions.IgnoreCase);
+            }
+
+            return Regex.IsMatch(s, string.Join("|", keys));
+        }
+
+        /// <summary>
+        /// 判断是否包含符号
+        /// </summary>
+        /// <param name="str"></param>
+        /// <param name="symbols"></param>
+        /// <returns></returns>
+        public static bool ContainsSymbol(this string str, params string[] symbols)
+        {
+            return str switch
+            {
+                null => false,
+                string a when string.IsNullOrEmpty(a) => false,
+                string a when a == string.Empty => false,
+                _ => symbols.Any(t => str.Contains(t))
+            };
+        }
+
+        #endregion 检测字符串中是否包含列表中的关键词
+
+        /// <summary>
+        /// 判断字符串是否为空或""
+        /// </summary>
+        /// <param name="s"></param>
+        /// <returns></returns>
+        public static bool IsNullOrEmpty(this string s)
+        {
+            return string.IsNullOrEmpty(s);
+        }
+
+        /// <summary>
+        /// 字符串掩码
+        /// </summary>
+        /// <param name="s">字符串</param>
+        /// <param name="mask">掩码符</param>
+        /// <returns></returns>
+        public static string Mask(this string s, char mask = '*')
+        {
+            if (string.IsNullOrWhiteSpace(s?.Trim()))
+            {
+                return s;
+            }
+            s = s.Trim();
+            string masks = mask.ToString().PadLeft(4, mask);
+            return s.Length switch
+            {
+                _ when s.Length >= 11 => Regex.Replace(s, @"(\w{3})\w*(\w{4})", $"$1{masks}$2"),
+                _ when s.Length == 10 => Regex.Replace(s, @"(\w{3})\w*(\w{3})", $"$1{masks}$2"),
+                _ when s.Length == 9 => Regex.Replace(s, @"(\w{2})\w*(\w{3})", $"$1{masks}$2"),
+                _ when s.Length == 8 => Regex.Replace(s, @"(\w{2})\w*(\w{2})", $"$1{masks}$2"),
+                _ when s.Length == 7 => Regex.Replace(s, @"(\w{1})\w*(\w{2})", $"$1{masks}$2"),
+                _ when s.Length >= 2 && s.Length < 7 => Regex.Replace(s, @"(\w{1})\w*(\w{1})", $"$1{masks}$2"),
+                _ => s + masks
+            };
+        }
+
+        #region Email
+
+        /// <summary>
+        /// 匹配Email
+        /// </summary>
+        /// <param name="s">源字符串</param>
+        /// <param name="valid">是否验证有效性</param>
+        /// <returns>匹配对象;是否匹配成功,若返回true,则会得到一个Match对象,否则为null</returns>
+        public static (bool isMatch, Match match) MatchEmail(this string s, bool valid = false)
+        {
+            if (string.IsNullOrEmpty(s) || s.Length < 7)
+            {
+                return (false, null);
+            }
+
+            Match match = Regex.Match(s, @"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$");
+            var isMatch = match.Success;
+            if (isMatch && valid)
+            {
+                var nslookup = new LookupClient();
+                var query = nslookup.Query(s.Split('@')[1], QueryType.MX).Answers.MxRecords().SelectMany(r => Dns.GetHostAddresses(r.Exchange.Value)).ToList();
+                isMatch = query.Any(ip => !ip.IsPrivateIP());
+            }
+
+            return (isMatch, match);
+        }
+
+        /// <summary>
+        /// 邮箱掩码
+        /// </summary>
+        /// <param name="s">邮箱</param>
+        /// <param name="mask">掩码</param>
+        /// <returns></returns>
+        public static string MaskEmail(this string s, char mask = '*')
+        {
+            return !MatchEmail(s).isMatch ? s : s.Replace(s.Substring(0, s.LastIndexOf("@")), Mask(s.Substring(0, s.LastIndexOf("@")), mask));
+        }
+
+        #endregion Email
+
+        #region 匹配完整的URL
+
+        /// <summary>
+        /// 匹配完整格式的URL
+        /// </summary>
+        /// <param name="s">源字符串</param>
+        /// <param name="isMatch">是否匹配成功,若返回true,则会得到一个Match对象,否则为null</param>
+        /// <returns>匹配对象</returns>
+        public static Uri MatchUrl(this string s, out bool isMatch)
+        {
+            try
+            {
+                var uri = new Uri(s);
+                isMatch = Dns.GetHostAddresses(uri.Host).Any(ip => !ip.IsPrivateIP());
+                return uri;
+            }
+            catch
+            {
+                isMatch = false;
+                return null;
+            }
+        }
+
+        /// <summary>
+        /// 匹配完整格式的URL
+        /// </summary>
+        /// <param name="s">源字符串</param>
+        /// <returns>是否匹配成功</returns>
+        public static bool MatchUrl(this string s)
+        {
+            MatchUrl(s, out var isMatch);
+            return isMatch;
+        }
+
+        #endregion 匹配完整的URL
+
+        #region 权威校验身份证号码
+
+        /// <summary>
+        /// 根据GB11643-1999标准权威校验中国身份证号码的合法性
+        /// </summary>
+        /// <param name="s">源字符串</param>
+        /// <returns>是否匹配成功</returns>
+        public static bool MatchIdentifyCard(this string s)
+        {
+            string address = "11x22x35x44x53x12x23x36x45x54x13x31x37x46x61x14x32x41x50x62x15x33x42x51x63x21x34x43x52x64x65x71x81x82x91";
+            if (s.Length == 18)
+            {
+                if (long.TryParse(s.Remove(17), out var n) == false || n < Math.Pow(10, 16) || long.TryParse(s.Replace('x', '0').Replace('X', '0'), out n) == false)
+                {
+                    return false; //数字验证
+                }
+
+                if (address.IndexOf(s.Remove(2), StringComparison.Ordinal) == -1)
+                {
+                    return false; //省份验证
+                }
+
+                string birth = s.Substring(6, 8).Insert(6, "-").Insert(4, "-");
+                if (!DateTime.TryParse(birth, out _))
+                {
+                    return false; //生日验证
+                }
+
+                string[] arrVarifyCode = ("1,0,x,9,8,7,6,5,4,3,2").Split(',');
+                string[] wi = ("7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2").Split(',');
+                char[] ai = s.Remove(17).ToCharArray();
+                int sum = 0;
+                for (int i = 0 ; i < 17 ; i++)
+                {
+                    sum += wi[i].ToInt32() * ai[i].ToString().ToInt32();
+                }
+
+                Math.DivRem(sum, 11, out var y);
+                return arrVarifyCode[y] == s.Substring(17, 1).ToLower();
+            }
+
+            if (s.Length == 15)
+            {
+                if (long.TryParse(s, out var n) == false || n < Math.Pow(10, 14))
+                {
+                    return false; //数字验证
+                }
+
+                if (address.IndexOf(s.Remove(2), StringComparison.Ordinal) == -1)
+                {
+                    return false; //省份验证
+                }
+
+                string birth = s.Substring(6, 6).Insert(4, "-").Insert(2, "-");
+                return DateTime.TryParse(birth, out _);
+            }
+
+            return false;
+        }
+
+        #endregion 权威校验身份证号码
+
+        #region IP地址
+
+        /// <summary>
+        /// 校验IP地址的正确性,同时支持IPv4和IPv6
+        /// </summary>
+        /// <param name="s">源字符串</param>
+        /// <param name="isMatch">是否匹配成功,若返回true,则会得到一个Match对象,否则为null</param>
+        /// <returns>匹配对象</returns>
+        public static IPAddress MatchInetAddress(this string s, out bool isMatch)
+        {
+            isMatch = IPAddress.TryParse(s, out var ip);
+            return ip;
+        }
+
+        /// <summary>
+        /// 校验IP地址的正确性,同时支持IPv4和IPv6
+        /// </summary>
+        /// <param name="s">源字符串</param>
+        /// <returns>是否匹配成功</returns>
+        public static bool MatchInetAddress(this string s)
+        {
+            MatchInetAddress(s, out var success);
+            return success;
+        }
+
+        /// <summary>
+        /// IP地址转换成数字
+        /// </summary>
+        /// <param name="addr">IP地址</param>
+        /// <returns>数字,输入无效IP地址返回0</returns>
+        public static uint IPToID(this string addr)
+        {
+            if (!IPAddress.TryParse(addr, out var ip))
+            {
+                return 0;
+            }
+
+            byte[] bInt = ip.GetAddressBytes();
+            if (BitConverter.IsLittleEndian)
+            {
+                Array.Reverse(bInt);
+            }
+
+            return BitConverter.ToUInt32(bInt, 0);
+        }
+
+        /// <summary>
+        /// 判断IP是否是私有地址
+        /// </summary>
+        /// <param name="ip"></param>
+        /// <returns></returns>
+        public static bool IsPrivateIP(this string ip)
+        {
+            if (MatchInetAddress(ip))
+            {
+                return IPAddress.Parse(ip).IsPrivateIP();
+            }
+            throw new ArgumentException(ip + "不是一个合法的ip地址");
+        }
+
+        /// <summary>
+        /// 判断IP地址在不在某个IP地址段
+        /// </summary>
+        /// <param name="input">需要判断的IP地址</param>
+        /// <param name="begin">起始地址</param>
+        /// <param name="ends">结束地址</param>
+        /// <returns></returns>
+        public static bool IpAddressInRange(this string input, string begin, string ends)
+        {
+            uint current = input.IPToID();
+            return current >= begin.IPToID() && current <= ends.IPToID();
+        }
+
+        #endregion IP地址
+
+        #region 校验手机号码的正确性
+
+        /// <summary>
+        /// 匹配手机号码
+        /// </summary>
+        /// <param name="s">源字符串</param>
+        /// <param name="isMatch">是否匹配成功,若返回true,则会得到一个Match对象,否则为null</param>
+        /// <returns>匹配对象</returns>
+        public static Match MatchPhoneNumber(this string s, out bool isMatch)
+        {
+            if (string.IsNullOrEmpty(s))
+            {
+                isMatch = false;
+                return null;
+            }
+            Match match = Regex.Match(s, @"^((1[3,5,6,8][0-9])|(14[5,7])|(17[0,1,3,6,7,8])|(19[8,9]))\d{8}$");
+            isMatch = match.Success;
+            return isMatch ? match : null;
+        }
+
+        /// <summary>
+        /// 匹配手机号码
+        /// </summary>
+        /// <param name="s">源字符串</param>
+        /// <returns>是否匹配成功</returns>
+        public static bool MatchPhoneNumber(this string s)
+        {
+            MatchPhoneNumber(s, out bool success);
+            return success;
+        }
+
+        #endregion 校验手机号码的正确性
+
+        #region Url
+
+        /// <summary>
+        /// 判断url是否是外部地址
+        /// </summary>
+        /// <param name="url"></param>
+        /// <returns></returns>
+        public static bool IsExternalAddress(this string url)
+        {
+            var uri = new Uri(url);
+            switch (uri.HostNameType)
+            {
+                case UriHostNameType.Dns:
+                    var ipHostEntry = Dns.GetHostEntry(uri.DnsSafeHost);
+                    if (ipHostEntry.AddressList.Where(ipAddress => ipAddress.AddressFamily == AddressFamily.InterNetwork).Any(ipAddress => !ipAddress.IsPrivateIP()))
+                    {
+                        return true;
+                    }
+                    break;
+
+                case UriHostNameType.IPv4:
+                    return !IPAddress.Parse(uri.DnsSafeHost).IsPrivateIP();
+            }
+            return false;
+        }
+
+        #endregion Url
+
+        /// <summary>
+        /// 转换成字节数组
+        /// </summary>
+        /// <param name="this"></param>
+        /// <returns></returns>
+        public static byte[] ToByteArray(this string @this)
+        {
+            return Activator.CreateInstance<ASCIIEncoding>().GetBytes(@this);
+        }
+
+        #region Crc32
+
+        /// <summary>
+        /// 获取字符串crc32签名
+        /// </summary>
+        /// <param name="s"></param>
+        /// <returns></returns>
+        public static string Crc32(this string s)
+        {
+            return string.Join(string.Empty, new Security.Crc32().ComputeHash(Encoding.UTF8.GetBytes(s)).Select(b => b.ToString("x2")));
+        }
+
+        /// <summary>
+        /// 获取字符串crc64签名
+        /// </summary>
+        /// <param name="s"></param>
+        /// <returns></returns>
+        public static string Crc64(this string s)
+        {
+            return string.Join(string.Empty, new Security.Crc64().ComputeHash(Encoding.UTF8.GetBytes(s)).Select(b => b.ToString("x2")));
+        }
+
+        #endregion Crc32
+    }
+}

+ 32 - 0
Masuit.Tools.Abstractions/Extensions/BaseType/StringExtensions.old.cs

@@ -0,0 +1,32 @@
+using System;
+using System.Numerics;
+
+namespace Masuit.Tools
+{
+    public static partial class StringExtensions
+    {
+        /// <summary>
+        /// 任意进制转十进制
+        /// </summary>
+        /// <param name="str"></param>
+        /// <param name="bin">进制</param>
+        /// <returns></returns>
+
+        public static long FromBinary(this string str, int bin)
+        {
+            return str.ToBinary(bin);
+        }
+
+        /// <summary>
+        /// 任意进制转大数十进制
+        /// </summary>
+        /// <param name="str"></param>
+        /// <param name="bin">进制</param>
+        /// <returns></returns>
+        [Obsolete("ToBinaryBig")]
+        public static BigInteger FromBinaryBig(this string str, int bin)
+        {
+            return str.ToBinaryBig(bin);
+        }
+    }
+}

+ 132 - 0
Masuit.Tools.Abstractions/Extensions/BaseType/ValueTypeConvertExtensions.cs

@@ -0,0 +1,132 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Masuit.Tools
+{
+#pragma warning disable IDE0060 // 删除未使用的参数
+
+    public static class ValueTypeConvertExtensions
+    {  /// <summary>
+       /// 字符串转int
+       /// </summary>
+       /// <param name="s">源字符串</param>
+       /// <param name="defaultValue">失败时返回的值</param>
+       /// <returns>int类型的数字</returns>
+        public static int ToInt32(this string s, int defaultValue = default)
+
+        {
+            int.TryParse(s, out defaultValue);
+            return defaultValue;
+        }
+
+        /// <summary>
+        /// 字符串转long
+        /// </summary>
+        /// <param name="s">源字符串</param>
+        /// <param name="defaultValue">失败时返回的值</param>
+        /// <returns>int类型的数字</returns>
+        public static long ToInt64(this string s, long defaultValue = default)
+        {
+            return s.ToLong(defaultValue);
+        }
+
+        /// <summary>
+        /// 字符串转long类型
+        /// </summary>
+        /// <param name="str"></param>
+        /// <param name="defaultResult">转换失败的默认值</param>
+        /// <returns></returns>
+        public static long ToLong(this string s, long defaultValue = default)
+        {
+            long.TryParse(s, out defaultValue);
+            return defaultValue;
+        }
+
+        /// <summary>
+        /// 字符串转double
+        /// </summary>
+        /// <param name="s">源字符串</param>
+        /// <param name="defaultValue">失败时返回的值</param>
+        /// <returns>double类型的数据</returns>
+        public static double ToDouble(this string s, double defaultValue = default)
+        {
+            double.TryParse(s, out defaultValue);
+            return defaultValue;
+        }
+
+        /// <summary>
+        /// 字符串转decimal
+        /// </summary>
+        /// <param name="s">源字符串</param>
+        /// <param name="defaultValue">失败时返回的值</param>
+        /// <returns>int类型的数字</returns>
+        public static decimal ToDecimal(this string s, decimal defaultValue = default)
+        {
+            decimal.TryParse(s, out defaultValue);
+            return defaultValue;
+        }
+
+        /// <summary>
+        /// 字符串转decimal
+        /// </summary>
+        /// <param name="s">源字符串</param>
+        /// <returns>int类型的数字</returns>
+        public static decimal ToDecimal(this double s)
+        {
+            return new decimal(s);
+        }
+
+        /// <summary>
+        /// 字符串转double
+        /// </summary>
+        /// <param name="s">源字符串</param>
+        /// <returns>double类型的数据</returns>
+        public static double ToDouble(this decimal s)
+        {
+            return (double)s;
+        }
+
+        /// <summary>
+        /// 将double转换成int
+        /// </summary>
+        /// <param name="num">double类型</param>
+        /// <returns>int类型</returns>
+        public static int ToInt32(this double num)
+        {
+            return (int)Math.Floor(num);
+        }
+
+        /// <summary>
+        /// 将double转换成int
+        /// </summary>
+        /// <param name="num">double类型</param>
+        /// <returns>int类型</returns>
+        public static int ToInt32(this decimal num)
+        {
+            return (int)Math.Floor(num);
+        }
+
+        /// <summary>
+        /// 将int转换成double
+        /// </summary>
+        /// <param name="num">int类型</param>
+        /// <returns>int类型</returns>
+        public static double ToDouble(this int num)
+        {
+            return num * 1.0;
+        }
+
+        /// <summary>
+        /// 将int转换成decimal
+        /// </summary>
+        /// <param name="num">int类型</param>
+        /// <returns>int类型</returns>
+        public static decimal ToDecimal(this int num)
+        {
+            return (decimal)(num * 1.0);
+        }
+    }
+
+#pragma warning restore IDE0060 // 删除未使用的参数
+}

+ 8 - 6
Masuit.Tools/Files/FileExt.cs → Masuit.Tools.Abstractions/Files/FileExt.cs

@@ -82,13 +82,15 @@ namespace Masuit.Tools.Files
         /// <returns>哈希值16进制字符串</returns>
         /// <returns>哈希值16进制字符串</returns>
         private static string HashFile(Stream fs, string algo)
         private static string HashFile(Stream fs, string algo)
         {
         {
-            var hash = (algo switch
+            HashAlgorithm crypto = algo switch
             {
             {
-                "sha1" => (HashAlgorithm)new SHA1CryptoServiceProvider(),
-                _ => new MD5CryptoServiceProvider()
-            }).ComputeHash(fs);
-            var sb = new StringBuilder();
-            foreach (var t in hash)
+                "sha1" => new SHA1CryptoServiceProvider(),
+                _ => new MD5CryptoServiceProvider(),
+            };
+            byte[] retVal = crypto.ComputeHash(fs);
+
+            StringBuilder sb = new StringBuilder();
+            foreach (var t in retVal)
             {
             {
                 sb.Append(t.ToString("x2"));
                 sb.Append(t.ToString("x2"));
             }
             }

+ 0 - 0
Masuit.Tools/Files/INIFile.cs → Masuit.Tools.Abstractions/Files/INIFile.cs


+ 0 - 0
Masuit.Tools/Files/WinrarHelper.cs → Masuit.Tools.Abstractions/Files/WinrarHelper.cs


+ 0 - 0
Masuit.Tools/Html/HtmlTools.cs → Masuit.Tools.Abstractions/Html/HtmlTools.cs


+ 0 - 0
Masuit.Tools/Linq/LinqExtension.cs → Masuit.Tools.Abstractions/Linq/LinqExtension.cs


+ 0 - 0
Masuit.Tools/Logging/LogInfo.cs → Masuit.Tools.Abstractions/Logging/LogInfo.cs


+ 0 - 0
Masuit.Tools/Logging/LogLevel.cs → Masuit.Tools.Abstractions/Logging/LogLevel.cs


+ 0 - 0
Masuit.Tools/Logging/LogManager.cs → Masuit.Tools.Abstractions/Logging/LogManager.cs


+ 0 - 0
Masuit.Tools/Mapping/Copier.cs → Masuit.Tools.Abstractions/Mapping/Copier.cs


+ 0 - 0
Masuit.Tools/Mapping/Core/CreateConfig.cs → Masuit.Tools.Abstractions/Mapping/Core/CreateConfig.cs


+ 0 - 0
Masuit.Tools/Mapping/Core/MapperConfiguration.cs → Masuit.Tools.Abstractions/Mapping/Core/MapperConfiguration.cs


+ 0 - 0
Masuit.Tools/Mapping/Core/MapperConfigurationBase.cs → Masuit.Tools.Abstractions/Mapping/Core/MapperConfigurationBase.cs


+ 0 - 0
Masuit.Tools/Mapping/Core/MapperConfigurationCollectionContainer.cs → Masuit.Tools.Abstractions/Mapping/Core/MapperConfigurationCollectionContainer.cs


+ 0 - 0
Masuit.Tools/Mapping/Core/PropertiesNotMapped.cs → Masuit.Tools.Abstractions/Mapping/Core/PropertiesNotMapped.cs


+ 0 - 0
Masuit.Tools/Mapping/Core/TypePairMapper.cs → Masuit.Tools.Abstractions/Mapping/Core/TypePairMapper.cs


+ 0 - 0
Masuit.Tools/Mapping/Exceptions/MapperExceptionBase.cs → Masuit.Tools.Abstractions/Mapping/Exceptions/MapperExceptionBase.cs


+ 0 - 0
Masuit.Tools/Mapping/Exceptions/MapperExistException.cs → Masuit.Tools.Abstractions/Mapping/Exceptions/MapperExistException.cs


+ 0 - 0
Masuit.Tools/Mapping/Exceptions/MapperNotInitializedException.cs → Masuit.Tools.Abstractions/Mapping/Exceptions/MapperNotInitializedException.cs


+ 0 - 0
Masuit.Tools/Mapping/Exceptions/NoActionAfterMappingException.cs → Masuit.Tools.Abstractions/Mapping/Exceptions/NoActionAfterMappingException.cs


+ 0 - 0
Masuit.Tools/Mapping/Exceptions/NoFoundMapperException.cs → Masuit.Tools.Abstractions/Mapping/Exceptions/NoFoundMapperException.cs


+ 0 - 0
Masuit.Tools/Mapping/Exceptions/NotSameTypePropertyException.cs → Masuit.Tools.Abstractions/Mapping/Exceptions/NotSameTypePropertyException.cs


+ 0 - 0
Masuit.Tools/Mapping/Exceptions/PropertyNoExistException.cs → Masuit.Tools.Abstractions/Mapping/Exceptions/PropertyNoExistException.cs


+ 0 - 0
Masuit.Tools/Mapping/Exceptions/ReadOnlyPropertyException.cs → Masuit.Tools.Abstractions/Mapping/Exceptions/ReadOnlyPropertyException.cs


+ 0 - 0
Masuit.Tools/Mapping/ExpressionCpoier.cs → Masuit.Tools.Abstractions/Mapping/ExpressionCpoier.cs


+ 0 - 0
Masuit.Tools/Mapping/ExpressionMapper.cs → Masuit.Tools.Abstractions/Mapping/ExpressionMapper.cs


+ 0 - 0
Masuit.Tools/Mapping/Extensions/ExpressionExtentions.cs → Masuit.Tools.Abstractions/Mapping/Extensions/ExpressionExtentions.cs


+ 0 - 0
Masuit.Tools/Mapping/Extensions/QueryableExtentions.cs → Masuit.Tools.Abstractions/Mapping/Extensions/QueryableExtentions.cs


+ 0 - 0
Masuit.Tools/Mapping/Helper/MapperHelper.cs → Masuit.Tools.Abstractions/Mapping/Helper/MapperHelper.cs


+ 0 - 0
Masuit.Tools/Mapping/Helper/TypeSystem.cs → Masuit.Tools.Abstractions/Mapping/Helper/TypeSystem.cs


+ 0 - 0
Masuit.Tools/Mapping/Visitor/ChangParameterExpressionVisitor.cs → Masuit.Tools.Abstractions/Mapping/Visitor/ChangParameterExpressionVisitor.cs


+ 0 - 0
Masuit.Tools/Mapping/Visitor/ConverterExpressionVisitor.cs → Masuit.Tools.Abstractions/Mapping/Visitor/ConverterExpressionVisitor.cs


+ 0 - 0
Masuit.Tools/Mapping/Visitor/MapperExpressionVisitor.cs → Masuit.Tools.Abstractions/Mapping/Visitor/MapperExpressionVisitor.cs


+ 0 - 0
Masuit.Tools/Mapping/Visitor/PropertiesVisitor.cs → Masuit.Tools.Abstractions/Mapping/Visitor/PropertiesVisitor.cs


+ 41 - 0
Masuit.Tools.Abstractions/Masuit.Tools.Abstractions.csproj

@@ -0,0 +1,41 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <TargetFrameworks>netstandard2.0;netstandard2.1;net461</TargetFrameworks>
+    <LangVersion>8.0</LangVersion>
+  </PropertyGroup>
+
+  <PropertyGroup>
+    <DocumentationFile>.\Masuit.Tools.Abstractions.xml</DocumentationFile>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+    <CodeAnalysisRuleSet />
+  </PropertyGroup>
+
+  <ItemGroup>
+    <PackageReference Include="AngleSharp" Version="0.14.0" />
+    <PackageReference Include="DnsClient" Version="1.3.2" />
+    <PackageReference Include="HtmlAgilityPack" Version="1.11.24" />
+    <PackageReference Include="HtmlSanitizer" Version="5.0.343" />
+    <PackageReference Include="Microsoft.Win32.Registry" Version="4.7.0" />
+    <PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
+    <PackageReference Include="SharpCompress" Version="0.26.0" />
+    <PackageReference Include="System.ComponentModel.Annotations" Version="4.7.0" />
+    <PackageReference Include="System.Drawing.Common" Version="4.7.0" />
+    <PackageReference Include="System.Management" Version="4.7.0" />
+    <PackageReference Include="System.Reflection.Emit.Lightweight" Version="4.7.0" />
+  </ItemGroup>
+
+  <ItemGroup Condition=" '$(TargetFramework)' == 'netstandard2.0' or '$(TargetFramework)' == 'netstandard2.1'">
+    <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="3.1.7" />
+    <PackageReference Include="Microsoft.AspNetCore.Http.Abstractions" Version="2.2.0" />
+    <PackageReference Include="Microsoft.AspNetCore.Http.Extensions" Version="2.2.0" />
+  </ItemGroup>
+
+  <ItemGroup Condition=" '$(TargetFramework)' == 'net461' ">
+    <Reference Include="System.Web" />
+    <PackageReference Include="System.Buffers" version="4.5.1" targetFramework="net461" />
+    <PackageReference Include="System.Runtime.Numerics" version="4.3.0" targetFramework="net461" />
+    <PackageReference Include="System.ValueTuple" version="4.5.0" targetFramework="net461" />
+    <PackageReference Include="System.Configuration.ConfigurationManager" Version="4.7.0" />
+  </ItemGroup>
+</Project>

+ 5755 - 0
Masuit.Tools.Abstractions/Masuit.Tools.Abstractions.xml

@@ -0,0 +1,5755 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Masuit.Tools.Abstractions</name>
+    </assembly>
+    <members>
+        <member name="T:Masuit.Tools.Core.Config.ConfigHelper">
+            <summary>
+            .net core的配置导入
+            </summary>
+        </member>
+        <member name="F:Masuit.Tools.Core.Config.ConfigHelper.Configuration">
+            <summary>
+            配置对象
+            </summary>
+        </member>
+        <member name="T:Masuit.Tools.Core.ChineseString">
+            <summary>
+            中文字符工具类
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Core.ChineseString.ToSimplified(System.String)">
+            <summary>
+            转为简体
+            </summary>
+            <param name="text">源字符串</param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Core.ChineseString.ToTraditional(System.String)">
+            <summary>
+            转为繁体
+            </summary>
+            <param name="text">源字符串</param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Core.ChineseString.ConvertCore(System.String,Masuit.Tools.Core.ChineseString.EnumChinese)">
+            <summary>
+            中文转换核心代码
+            </summary>
+            <param name="text">源字符串</param>
+            <param name="format">目标转换输出格式</param>
+            <returns></returns>
+        </member>
+        <member name="F:Masuit.Tools.Core.ChineseString.Simplified">
+            <summary>
+            简体字
+            </summary>
+        </member>
+        <member name="F:Masuit.Tools.Core.ChineseString.Traditional">
+            <summary>
+            繁体字
+            </summary>
+        </member>
+        <member name="T:Masuit.Tools.Core.ChineseString.EnumChinese">
+            <summary>
+            中文格式枚举
+            </summary>
+        </member>
+        <member name="T:Masuit.Tools.Core.Validator.ComplexPassword">
+            <summary>
+            强密码验证
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Core.Validator.ComplexPassword.IsValid(System.Object)">
+            <summary>
+            校验密码强度
+            </summary>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Masuit.Tools.Core.Validator.IsIPAddressAttribute">
+            <summary>
+            验证IPv4地址是否合法
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Core.Validator.IsIPAddressAttribute.IsValid(System.Object)">
+            <summary>
+            验证IPv4地址是否合法
+            </summary>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Masuit.Tools.Core.Validator.IsPhoneAttribute">
+            <summary>
+            验证手机号码是否合法
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Core.Validator.IsPhoneAttribute.IsValid(System.Object)">
+            <summary>
+            验证手机号码是否合法
+            </summary>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Masuit.Tools.Core.Validator.MaxValueAttribute">
+            <summary>
+            最大值校验
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Core.Validator.MaxValueAttribute.#ctor(System.Double)">
+            <summary>
+            最大值
+            </summary>
+            <param name="value"></param>
+        </member>
+        <member name="M:Masuit.Tools.Core.Validator.MaxValueAttribute.IsValid(System.Object)">
+            <summary>
+            最大值校验
+            </summary>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Core.Validator.MaxValueAttribute.FormatErrorMessage(System.String)">
+            <summary>Applies formatting to an error message, based on the data field where the error occurred.</summary>
+            <param name="name">The name to include in the formatted message.</param>
+            <returns>An instance of the formatted error message.</returns>
+        </member>
+        <member name="T:Masuit.Tools.Core.Validator.MinValueAttribute">
+            <summary>
+            最小值校验
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Core.Validator.MinValueAttribute.#ctor(System.Double)">
+            <summary>
+            最小值
+            </summary>
+            <param name="value"></param>
+        </member>
+        <member name="M:Masuit.Tools.Core.Validator.MinValueAttribute.IsValid(System.Object)">
+            <summary>
+            最小值校验
+            </summary>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Core.Validator.MinValueAttribute.FormatErrorMessage(System.String)">
+            <summary>Applies formatting to an error message, based on the data field where the error occurred.</summary>
+            <param name="name">The name to include in the formatted message.</param>
+            <returns>An instance of the formatted error message.</returns>
+        </member>
+        <member name="T:Masuit.Tools.Database.DataExt">
+            <summary>
+            SqlDataReader扩展类
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Database.DataExt.MapEntity``1(System.Data.DataRow)">
+            <summary>
+            根据DataRow映射到实体模型
+            </summary>
+            <typeparam name="T">实体模型</typeparam>
+            <param name="row">数据行</param>
+            <returns>映射后的实体模型</returns>
+        </member>
+        <member name="M:Masuit.Tools.Database.DataExt.MapEntity``1(System.Data.IDataReader)">
+            <summary>
+            根据DataReader映射到实体模型
+            </summary>
+            <typeparam name="T">实体模型</typeparam>
+            <param name="dr">IDataReader</param>
+            <returns>映射后的实体模型</returns>
+        </member>
+        <member name="T:Masuit.Tools.Database.DataTableHelper">
+            <summary>
+            DataTable帮助类
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Database.DataTableHelper.AddIdentityColumn(System.Data.DataTable)">
+            <summary>
+            给DataTable增加一个自增列
+            如果DataTable 存在 identityid 字段  则 直接返回DataTable 不做任何处理
+            </summary>
+            <param name="dt">DataTable</param>
+            <returns>返回Datatable 增加字段 identityid </returns>
+        </member>
+        <member name="M:Masuit.Tools.Database.DataTableHelper.HasRows(System.Data.DataTable)">
+            <summary>
+            检查DataTable 是否有数据行
+            </summary>
+            <param name="dt">DataTable</param>
+            <returns>是否有数据行</returns>
+        </member>
+        <member name="M:Masuit.Tools.Database.DataTableHelper.ToList``1(System.Data.DataTable)">
+            <summary>
+            datatable转List
+            </summary>
+            <typeparam name="T"></typeparam>
+            <param name="dt"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Database.DataTableHelper.ToDataTable``1(System.Collections.Generic.IEnumerable{``0},System.String)">
+            <summary>
+            将泛型集合类转换成DataTable
+            </summary>
+            <typeparam name="T">集合项类型</typeparam>
+            <param name="list">集合</param>
+            <param name="tableName">表名</param>
+            <returns>数据集(表)</returns>
+        </member>
+        <member name="M:Masuit.Tools.Database.DataTableHelper.ToDataTable``1(System.Collections.Generic.IList{``0},System.String)">
+            <summary>
+            将泛型集合类转换成DataTable
+            </summary>
+            <typeparam name="T">集合项类型</typeparam>
+            <param name="list">集合</param>
+            <param name="tableName">表名</param>
+            <returns>数据集(表)</returns>
+        </member>
+        <member name="M:Masuit.Tools.Database.DataTableHelper.CreateTable(System.Collections.Generic.List{System.String})">
+            <summary>
+            根据nameList里面的字段创建一个表格,返回该表格的DataTable
+            </summary>
+            <param name="nameList">包含字段信息的列表</param>
+            <returns>DataTable</returns>
+        </member>
+        <member name="M:Masuit.Tools.Database.DataTableHelper.CreateTable(System.Data.DataTable,System.String)">
+            <summary>
+            通过字符列表创建表字段,字段格式可以是:<br/>
+            1) a,b,c,d,e<br/>
+            2) a|int,b|string,c|bool,d|decimal<br/>
+            </summary>
+            <param name="dt"></param>
+            <param name="nameString">字符列表</param>
+            <returns>内存表</returns>
+        </member>
+        <member name="M:Masuit.Tools.Database.DataTableHelper.ConvertType(System.String)">
+            <summary>
+            根据类型名返回一个Type类型
+            </summary>
+            <param name="typeName">类型的名称</param>
+            <returns>Type对象</returns>
+        </member>
+        <member name="M:Masuit.Tools.Database.DataTableHelper.GetDataRowArray(System.Data.DataRowCollection)">
+            <summary>
+            获得从DataRowCollection转换成的DataRow数组
+            </summary>
+            <param name="drc">DataRowCollection</param>
+            <returns>DataRow数组</returns>
+        </member>
+        <member name="M:Masuit.Tools.Database.DataTableHelper.GetTableFromRows(System.Data.DataRow[])">
+            <summary>
+            将DataRow数组转换成DataTable,注意行数组的每个元素须具有相同的数据结构,
+            否则当有元素长度大于第一个元素时,抛出异常
+            </summary>
+            <param name="rows">行数组</param>
+            <returns>将内存行组装成内存表</returns>
+        </member>
+        <member name="T:Masuit.Tools.DateTimeExt.ChineseCalendar">
+            <summary>
+            中国农历类 支持 1900.1.31日起至 2069.12.31日止的数据
+            </summary>
+            <remarks>
+            本程序使用数据来源于网上的万年历查询,并综合了一些其它数据
+            </remarks>
+        </member>
+        <member name="F:Masuit.Tools.DateTimeExt.ChineseCalendar.LunarDateArray">
+             <summary>
+             来源于网上的农历数据
+             </summary>
+             <remarks>
+             数据结构如下,共使用17位数据
+             第17位:表示闰月天数,0表示29天   1表示30天
+             第16位-第5位(共12位)表示12个月,其中第16位表示第一月,如果该月为30天则为1,29天为0
+             第4位-第1位(共4位)表示闰月是哪个月,如果当年没有闰月,则置0
+            </remarks>
+        </member>
+        <member name="F:Masuit.Tools.DateTimeExt.ChineseCalendar.ConstellationName">
+            <summary>
+            星座
+            </summary>
+        </member>
+        <member name="F:Masuit.Tools.DateTimeExt.ChineseCalendar.LunarHolidayName">
+            <summary>
+            二十四节气
+            </summary>
+        </member>
+        <member name="F:Masuit.Tools.DateTimeExt.ChineseCalendar.ChineseConstellationName">
+            <summary>
+            二十八星宿
+            </summary>
+        </member>
+        <member name="F:Masuit.Tools.DateTimeExt.ChineseCalendar.SolarTerm">
+            <summary>
+            节气数据
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.DateTimeExt.ChineseCalendar.CustomWorkDays">
+            <summary>
+            自定义的工作日
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.DateTimeExt.ChineseCalendar.CustomHolidays">
+            <summary>
+            自定义的节假日
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.DateTimeExt.ChineseCalendar.SolarHolidayInfo">
+            <summary>
+            按公历计算的通用节假日
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.DateTimeExt.ChineseCalendar.LunarHolidayInfo">
+            <summary>
+            按农历计算的通用节假日
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.ChineseCalendar.#ctor(System.DateTime)">
+            <summary>
+            用一个标准的公历日期来初使化
+            </summary>
+            <param name="dt"></param>
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.ChineseCalendar.#ctor(System.Int32,System.Int32,System.Int32,System.Boolean)">
+            <summary>
+            用农历的日期来初使化
+            </summary>
+            <param name="cy">农历年</param>
+            <param name="cm">农历月</param>
+            <param name="cd">农历日</param>
+            <param name="leapMonthFlag">闰月标志</param>
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.ChineseCalendar.GetChineseMonthDays(System.Int32,System.Int32)">
+            <summary>
+            传回农历 y年m月的总天数
+            </summary>
+            <param name="year"></param>
+            <param name="month"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.ChineseCalendar.GetChineseLeapMonth(System.Int32)">
+            <summary>
+            传回农历 y年闰哪个月 1-12 , 没闰传回 0
+            </summary>
+            <param name="year"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.ChineseCalendar.GetChineseLeapMonthDays(System.Int32)">
+            <summary>
+            传回农历 y年闰月的天数
+            </summary>
+            <param name="year"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.ChineseCalendar.GetChineseYearDays(System.Int32)">
+            <summary>
+            取农历年一年的天数
+            </summary>
+            <param name="year"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.ChineseCalendar.GetChineseHour(System.DateTime)">
+            <summary>
+            获得当前时间的时辰
+            </summary>
+            <param name="dt"></param>
+            <returns></returns>
+            
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.ChineseCalendar.CheckChineseDateLimit(System.Int32,System.Int32,System.Int32,System.Boolean)">
+            <summary>
+            检查农历日期是否合理
+            </summary>
+            <param name="year"></param>
+            <param name="month"></param>
+            <param name="day"></param>
+            <param name="leapMonth"></param>
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.ChineseCalendar.ConvertNumToChineseNum(System.Char)">
+            <summary>
+            将0-9转成汉字形式
+            </summary>
+            <param name="n"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.ChineseCalendar.BitTest32(System.Int32,System.Int32)">
+            <summary>
+            测试某位是否为真
+            </summary>
+            <param name="num"></param>
+            <param name="bitpostion"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.ChineseCalendar.ConvertDayOfWeek(System.DayOfWeek)">
+            <summary>
+            将星期几转成数字表示
+            </summary>
+            <param name="dayOfWeek"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.ChineseCalendar.CompareWeekDayHoliday(System.DateTime,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            比较当天是不是指定的第周几
+            </summary>
+            <param name="date"></param>
+            <param name="month"></param>
+            <param name="week"></param>
+            <param name="day"></param>
+            <returns></returns>
+        </member>
+        <member name="P:Masuit.Tools.DateTimeExt.ChineseCalendar.ChineseCalendarHoliday">
+            <summary>
+            计算中国农历节日
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.DateTimeExt.ChineseCalendar.WeekDayHoliday">
+            <summary>
+            按某月第几周第几日计算的节日
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.DateTimeExt.ChineseCalendar.DateHoliday">
+            <summary>
+            按公历日计算的节日
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.DateTimeExt.ChineseCalendar.IsHoliday">
+            <summary>
+            今天是否是假期
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.DateTimeExt.ChineseCalendar.IsWorkDay">
+            <summary>
+            今天是否是工作日
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.ChineseCalendar.IsWeekend">
+            <summary>
+            是否是周末
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="P:Masuit.Tools.DateTimeExt.ChineseCalendar.Date">
+            <summary>
+            取对应的公历日期
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.DateTimeExt.ChineseCalendar.WeekDay">
+            <summary>
+            取星期几
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.DateTimeExt.ChineseCalendar.WeekDayStr">
+            <summary>
+            周几的字符
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.DateTimeExt.ChineseCalendar.DateString">
+            <summary>
+            公历日期中文表示法 如一九九七年七月一日
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.DateTimeExt.ChineseCalendar.IsLeapYear">
+            <summary>
+            当前是否公历闰年
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.DateTimeExt.ChineseCalendar.ChineseConstellation">
+            <summary>
+            28星宿计算
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.DateTimeExt.ChineseCalendar.ChineseHour">
+            <summary>
+            时辰
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.DateTimeExt.ChineseCalendar.Today">
+            <summary>
+            农历今天
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.DateTimeExt.ChineseCalendar.IsChineseLeapMonth">
+            <summary>
+            是否闰月
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.DateTimeExt.ChineseCalendar.IsChineseLeapYear">
+            <summary>
+            当年是否有闰月
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.DateTimeExt.ChineseCalendar.ChineseDay">
+            <summary>
+            农历日
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.DateTimeExt.ChineseCalendar.ChineseDayString">
+            <summary>
+            农历日中文表示
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.DateTimeExt.ChineseCalendar.ChineseMonth">
+            <summary>
+            农历的月份
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.DateTimeExt.ChineseCalendar.ChineseMonthString">
+            <summary>
+            农历月份字符串
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.DateTimeExt.ChineseCalendar.ChineseYear">
+            <summary>
+            取农历年份
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.DateTimeExt.ChineseCalendar.ChineseYearString">
+            <summary>
+            取农历年字符串如,一九九七年
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.DateTimeExt.ChineseCalendar.ChineseDateString">
+            <summary>
+            取农历日期表示法:农历一九九七年正月初五
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.DateTimeExt.ChineseCalendar.ChineseTwentyFourDay">
+            <summary>
+            定气法计算二十四节气,二十四节气是按地球公转来计算的,并非是阴历计算的
+            </summary>
+            <remarks>
+            节气的定法有两种。古代历法采用的称为"恒气",即按时间把一年等分为24份,
+            每一节气平均得15天有余,所以又称"平气"。现代农历采用的称为"定气",即
+            按地球在轨道上的位置为标准,一周360°,两节气之间相隔15°。由于冬至时地
+            球位于近日点附近,运动速度较快,因而太阳在黄道上移动15°的时间不到15天。
+            夏至前后的情况正好相反,太阳在黄道上移动较慢,一个节气达16天之多。采用
+            定气时可以保证春、秋两分必然在昼夜平分的那两天。
+            </remarks>
+        </member>
+        <member name="P:Masuit.Tools.DateTimeExt.ChineseCalendar.ChineseTwentyFourPrevDay">
+            <summary>
+            当前日期前一个最近节气
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.DateTimeExt.ChineseCalendar.ChineseTwentyFourNextDay">
+            <summary>
+            当前日期后一个最近节气
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.DateTimeExt.ChineseCalendar.Constellation">
+            <summary>
+            计算指定日期的星座序号 
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="P:Masuit.Tools.DateTimeExt.ChineseCalendar.Animal">
+            <summary>
+            计算属相的索引,注意虽然属相是以农历年来区别的,但是目前在实际使用中是按公历来计算的
+            鼠年为1,其它类推
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.DateTimeExt.ChineseCalendar.AnimalString">
+            <summary>
+            取属相字符串
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.DateTimeExt.ChineseCalendar.GanZhiYearString">
+            <summary>
+            取农历年的干支表示法如 乙丑年
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.DateTimeExt.ChineseCalendar.GanZhiMonthString">
+            <summary>
+            取干支的月表示字符串,注意农历的闰月不记干支
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.DateTimeExt.ChineseCalendar.GanZhiDayString">
+            <summary>
+            取干支日表示法
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.DateTimeExt.ChineseCalendar.GanZhiDateString">
+            <summary>
+            取当前日期的干支表示法如 甲子年乙丑月丙庚日
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.DateTimeExt.ChineseCalendar.NextDay">
+            <summary>
+            取下一天
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="P:Masuit.Tools.DateTimeExt.ChineseCalendar.PervDay">
+            <summary>
+            取前一天
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.ChineseCalendar.AddDays(System.Int32)">
+            <summary>
+            取下n天
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.ChineseCalendar.AddWorkDays(System.Int32)">
+            <summary>
+            取下n天
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.ChineseCalendar.AddMonths(System.Int32)">
+            <summary>
+            加n月
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="T:Masuit.Tools.DateTimeExt.DateInfoStruct">
+            <summary>
+            日期信息
+            </summary>
+        </member>
+        <member name="F:Masuit.Tools.DateTimeExt.DateInfoStruct.Month">
+            <summary>
+            月
+            </summary>
+        </member>
+        <member name="F:Masuit.Tools.DateTimeExt.DateInfoStruct.Day">
+            <summary>
+            日
+            </summary>
+        </member>
+        <member name="F:Masuit.Tools.DateTimeExt.DateInfoStruct.Recess">
+            <summary>
+            假期长度
+            </summary>
+        </member>
+        <member name="F:Masuit.Tools.DateTimeExt.DateInfoStruct.HolidayName">
+            <summary>
+            节假日名
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.DateInfoStruct.#ctor(System.Int32,System.Int32,System.Int32,System.String)">
+            <summary>
+            日期信息
+            </summary>
+            <param name="month"></param>
+            <param name="day"></param>
+            <param name="recess"></param>
+            <param name="name"></param>
+        </member>
+        <member name="T:Masuit.Tools.DateTimeExt.DateTimeHelper">
+            <summary>
+            日期时间帮助类
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.DateTimeHelper.GetWeekAmount(System.DateTime,System.Int32)">
+            <summary>
+            获取某一年有多少周
+            </summary>
+            <param name="_"></param>
+            <param name="year">年份</param>
+            <returns>该年周数</returns>
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.DateTimeHelper.WeekOfYear(System.DateTime)">
+            <summary>
+            返回年度第几个星期   默认星期日是第一天
+            </summary>
+            <param name="date">时间</param>
+            <returns>第几周</returns>
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.DateTimeHelper.WeekOfYear(System.DateTime,System.DayOfWeek)">
+            <summary>
+            返回年度第几个星期
+            </summary>
+            <param name="date">时间</param>
+            <param name="week">一周的开始日期</param>
+            <returns>第几周</returns>
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.DateTimeHelper.GetWeekTime(System.DateTime,System.Int32,System.Int32,System.DateTime@,System.DateTime@)">
+            <summary>
+            得到一年中的某周的起始日和截止日
+            年 nYear
+            周数 nNumWeek
+            周始 out dtWeekStart
+            周终 out dtWeekeEnd
+            </summary>
+            <param name="_"></param>
+            <param name="nYear">年份</param>
+            <param name="nNumWeek">第几周</param>
+            <param name="dtWeekStart">开始日期</param>
+            <param name="dtWeekeEnd">结束日期</param>
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.DateTimeHelper.GetWeekWorkTime(System.DateTime,System.Int32,System.Int32,System.DateTime@,System.DateTime@)">
+            <summary>
+            得到一年中的某周的起始日和截止日    周一到周五  工作日
+            </summary>
+            <param name="_"></param>
+            <param name="nYear">年份</param>
+            <param name="nNumWeek">第几周</param>
+            <param name="dtWeekStart">开始日期</param>
+            <param name="dtWeekeEnd">结束日期</param>
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.DateTimeHelper.SetLocalTime(System.DateTime)">
+            <summary>
+            设置本地计算机时间
+            </summary>
+            <param name="dt">DateTime对象</param>
+        </member>
+        <member name="T:Masuit.Tools.DateTimeExt.DateUtil">
+            <summary>
+            日期操作工具类
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.DateUtil.GetDateTime(System.DateTime,System.Int32)">
+            <summary>
+            返回相对于当前时间的相对天数
+            </summary>
+            <param name="dt"></param>
+            <param name="relativeday">相对天数</param>
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.DateUtil.GetDateTimeF(System.DateTime)">
+            <summary>
+            返回标准时间格式string
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.DateUtil.GetStandardDateTime(System.String,System.String)">
+            <summary>
+            返回标准时间 
+            </summary>
+            <param name="fDateTime">日期时间字符串</param>
+            <param name="formatStr">格式</param>
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.DateUtil.GetStandardDateTime(System.String)">
+            <summary>
+            返回标准时间 yyyy-MM-dd HH:mm:ss
+            </summary>
+            <param name="fDateTime">日期时间字符串</param>
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.DateUtil.GetTotalSeconds(System.DateTime)">
+            <summary>
+            获取该时间相对于1970-01-01 00:00:00的秒数
+            </summary>
+            <param name="dt"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.DateUtil.GetTotalMilliseconds(System.DateTime)">
+            <summary>
+            获取该时间相对于1970-01-01 00:00:00的毫秒数
+            </summary>
+            <param name="dt"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.DateUtil.GetTotalMicroseconds(System.DateTime)">
+            <summary>
+            获取该时间相对于1970-01-01 00:00:00的微秒时间戳
+            </summary>
+            <param name="dt"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.DateUtil.GetTotalNanoseconds(System.DateTime)">
+            <summary>
+            获取该时间相对于1970-01-01 00:00:00的纳秒时间戳
+            </summary>
+            <param name="dt"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.DateUtil.GetTotalMinutes(System.DateTime)">
+            <summary>
+            获取该时间相对于1970-01-01 00:00:00的分钟数
+            </summary>
+            <param name="dt"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.DateUtil.GetTotalHours(System.DateTime)">
+            <summary>
+            获取该时间相对于1970-01-01 00:00:00的小时数
+            </summary>
+            <param name="dt"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.DateUtil.GetTotalDays(System.DateTime)">
+            <summary>
+            获取该时间相对于1970-01-01 00:00:00的天数
+            </summary>
+            <param name="dt"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.DateUtil.GetDaysOfYear(System.DateTime,System.Int32)">
+            <summary>
+            返回本年有多少天
+            </summary>
+            <param name="_"></param>
+            <param name="iYear">年份</param>
+            <returns>本年的天数</returns>
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.DateUtil.GetDaysOfYear(System.DateTime)">
+            <summary>本年有多少天</summary>
+            <param name="dt">日期</param>
+            <returns>本天在当年的天数</returns>
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.DateUtil.GetDaysOfMonth(System.DateTime,System.Int32,System.Int32)">
+            <summary>本月有多少天</summary>
+            <param name="_"></param>
+            <param name="iYear">年</param>
+            <param name="month">月</param>
+            <returns>天数</returns>
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.DateUtil.GetDaysOfMonth(System.DateTime)">
+            <summary>本月有多少天</summary>
+            <param name="dt">日期</param>
+            <returns>天数</returns>
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.DateUtil.GetWeekNameOfDay(System.DateTime)">
+            <summary>返回当前日期的星期名称</summary>
+            <param name="idt">日期</param>
+            <returns>星期名称</returns>
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.DateUtil.GetWeekNumberOfDay(System.DateTime)">
+            <summary>返回当前日期的星期编号</summary>
+            <param name="idt">日期</param>
+            <returns>星期数字编号</returns>
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.DateUtil.IsRuYear(System.Int32)">
+            <summary>判断当前年份是否是闰年,私有函数</summary>
+            <param name="iYear">年份</param>
+            <returns>是闰年:True ,不是闰年:False</returns>
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.DateUtil.IsDateTime(System.String)">
+            <summary>
+            判断是否为合法日期,必须大于1800年1月1日
+            </summary>
+            <param name="strDate">输入日期字符串</param>
+            <returns>True/False</returns>
+        </member>
+        <member name="T:Masuit.Tools.DateTimeExt.TimeHelper">
+            <summary>
+            时间相关操作帮助类
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.TimeHelper.ReturnDateFormat(System.DateTime,System.Int32,System.String@,System.String@)">
+            <summary>
+             返回每月的第一天和最后一天
+            </summary>
+            <param name="_"></param>
+            <param name="month">月份</param>
+            <param name="firstDay">第一天</param>
+            <param name="lastDay">最后一天</param>
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.TimeHelper.GetFormatDate(System.DateTime,System.Char)">
+            <summary>
+            将时间格式化成 年月日 的形式,如果时间为null,返回当前系统时间
+            </summary>
+            <param name="dt">年月日分隔符</param>
+            <param name="separator">分隔符</param>
+            <returns>xxxx年xx月xx日</returns>
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.TimeHelper.GetFormatTime(System.DateTime,System.Char)">
+            <summary>
+            将时间格式化成 时分秒 的形式,如果时间为null,返回当前系统时间
+            </summary>
+            <param name="dt">当前日期时间对象</param>
+            <param name="separator">分隔符</param>
+            <returns> xx时xx分xx秒 </returns>
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.TimeHelper.SecondToMinute(System.DateTime,System.Int32)">
+            <summary>
+            把秒转换成分钟
+            </summary>
+            <param name="_"></param>
+            <param name="second">秒数</param>
+            <returns>分钟数</returns>
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.TimeHelper.GetMonthLastDate(System.DateTime,System.Int32,System.Int32)">
+            <summary>
+            返回某年某月最后一天
+            </summary>
+            <param name="_"></param>
+            <param name="year">年份</param>
+            <param name="month">月份</param>
+            <returns>日</returns>
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.TimeHelper.DateDiff2(System.DateTime,System.DateTime)">
+            <summary>
+            获得两个日期的间隔
+            </summary>
+            <param name="dateTime1">日期一。</param>
+            <param name="dateTime2">日期二。</param>
+            <returns>日期间隔TimeSpan。</returns>
+            <exception cref="T:System.OverflowException">The return value is less than <see cref="F:System.TimeSpan.MinValue" /> or greater than <see cref="F:System.TimeSpan.MaxValue" />. </exception>
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.TimeHelper.GetRandomTime(System.DateTime,System.DateTime)">
+            <summary>
+            得到随机日期
+            </summary>
+            <param name="time1">起始日期</param>
+            <param name="time2">结束日期</param>
+            <returns>间隔日期之间的 随机日期</returns>
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.TimeHelper.DateConvert(System.String)">
+            <summary> 
+            Rss日期时间转换,将时间全部转换为GMT时间 
+            </summary> 
+            <param name="strDateTime">Rss中读取的时间</param> 
+            <returns>处理后的标准时间格式</returns> 
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.TimeHelper.GetTimeDelay(System.DateTime,System.DateTime)">
+            <summary>
+            获得一段时间内有多少小时
+            </summary>
+            <param name="dtStar">起始时间</param>
+            <param name="dtEnd">终止时间</param>
+            <returns>小时差</returns>
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.TimeHelper.GetDateString(System.DateTime)">
+            <summary>
+            获得8位时间整型数字
+            </summary>
+            <param name="dt">当前的日期时间对象</param>
+            <returns>8位时间整型数字</returns>
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.TimeHelper.DateDiff(System.DateTime,System.DateTime)">
+            <summary>
+            返回时间差
+            </summary>
+            <param name="dateTime1">时间1</param>
+            <param name="dateTime2">时间2</param>
+            <returns>时间差</returns>
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.TimeHelper.GetDiffTime(System.DateTime,System.DateTime)">
+            <summary>
+            时间差
+            </summary>
+            <param name="beginTime">开始时间</param>
+            <param name="endTime">结束时间</param>
+            <returns>时间差</returns>
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.TimeHelper.GetDiffTime(System.DateTime,System.DateTime,System.Int32@)">
+            <summary>
+            计算2个时间差
+            </summary>
+            <param name="beginTime">开始时间</param>
+            <param name="endTime">结束时间</param>
+            <param name="mindTime">中间的时间</param>
+            <returns>时间差</returns>
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.TimeHelper.CsharpTime2JavascriptTime(System.DateTime)">
+            <summary>
+            C#的时间到Javascript的时间的转换
+            </summary>
+            <param name="theDate">C#的时间</param>
+            <returns>Javascript的时间</returns>
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.TimeHelper.PhpTime2CsharpTime(System.DateTime,System.Int64)">
+            <summary>
+            PHP的时间转换成C#中的DateTime
+            </summary>
+            <param name="_"></param>
+            <param name="time">php的时间</param>
+            <returns>C#的时间</returns>
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.TimeHelper.CsharpTime2PhpTime(System.DateTime)">
+            <summary>
+             C#中的DateTime转换成PHP的时间
+            </summary>
+            <param name="time">C#时间</param>
+            <returns>php时间</returns>
+        </member>
+        <member name="T:Masuit.Tools.DateTimeExt.WeekHolidayStruct">
+            <summary>
+            节假日信息
+            </summary>
+        </member>
+        <member name="F:Masuit.Tools.DateTimeExt.WeekHolidayStruct.Month">
+            <summary>
+            月
+            </summary>
+        </member>
+        <member name="F:Masuit.Tools.DateTimeExt.WeekHolidayStruct.WeekAtMonth">
+            <summary>
+            这个月第几周
+            </summary>
+        </member>
+        <member name="F:Masuit.Tools.DateTimeExt.WeekHolidayStruct.WeekDay">
+            <summary>
+            周末日
+            </summary>
+        </member>
+        <member name="F:Masuit.Tools.DateTimeExt.WeekHolidayStruct.HolidayName">
+            <summary>
+            假日名
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.DateTimeExt.WeekHolidayStruct.#ctor(System.Int32,System.Int32,System.Int32,System.String)">
+            <summary>
+            节假日信息
+            </summary>
+            <param name="month"></param>
+            <param name="weekAtMonth"></param>
+            <param name="weekDay"></param>
+            <param name="name"></param>
+        </member>
+        <member name="M:Masuit.Tools.BigIntegerExtensions.ToBinary(System.Numerics.BigInteger,System.Int32)">
+            <summary>
+            十进制转任意进制
+            </summary>
+            <param name="num"></param>
+            <param name="bin">进制</param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.DoubleExtensions.Digits8(System.Double)">
+            <summary>
+            将小数截断为8位
+            </summary>
+            <param name="num"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.IConvertibleExtensions.To``1(System.IConvertible)">
+            <summary>
+            类型直转
+            </summary>
+            <typeparam name="T"></typeparam>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.IDictionaryExtensions.AddOrUpdate``2(System.Collections.Generic.IDictionary{``0,``1},``0,``1)">
+            <summary>
+            添加或更新键值对
+            </summary>
+            <typeparam name="TKey"></typeparam>
+            <typeparam name="TValue"></typeparam>
+            <param name="this"></param>
+            <param name="key">键</param>
+            <param name="value">值</param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.IDictionaryExtensions.AddOrUpdate``2(System.Collections.Generic.IDictionary{``0,``1},``0,``1,System.Func{``0,``1,``1})">
+            <summary>
+            添加或更新键值对
+            </summary>
+            <typeparam name="TKey"></typeparam>
+            <typeparam name="TValue"></typeparam>
+            <param name="this"></param>
+            <param name="key">键</param>
+            <param name="addValue">添加时的值</param>
+            <param name="updateValueFactory">更新时的操作</param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.IDictionaryExtensions.AddOrUpdate``2(System.Collections.Generic.IDictionary{``0,``1},``0,System.Func{``0,``1},System.Func{``0,``1,``1})">
+            <summary>
+            添加或更新键值对
+            </summary>
+            <typeparam name="TKey"></typeparam>
+            <typeparam name="TValue"></typeparam>
+            <param name="this"></param>
+            <param name="key">键</param>
+            <param name="addValueFactory">添加时的操作</param>
+            <param name="updateValueFactory">更新时的操作</param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.IEnumerableExtensions.ForEach``1(System.Collections.Generic.IEnumerable{``0},System.Action{``0})">
+            <summary>
+            遍历IEnumerable
+            </summary>
+            <param name="objs"></param>
+            <param name="action">回调方法</param>
+            <typeparam name="T"></typeparam>
+        </member>
+        <member name="M:Masuit.Tools.IEnumerableExtensions.ForEach``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1})">
+            <summary>
+            遍历IEnumerable并返回一个新的IEnumerable
+            </summary>
+            <param name="objs"></param>
+            <param name="action">回调方法</param>
+            <typeparam name="T"></typeparam>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.IEnumerableExtensions.ForEachAsync``1(System.Collections.Generic.IEnumerable{``0},System.Action{``0})">
+            <summary>
+            遍历IEnumerable
+            </summary>
+            <param name="objs"></param>
+            <param name="action">回调方法</param>
+            <typeparam name="T"></typeparam>
+        </member>
+        <member name="M:Masuit.Tools.IEnumerableExtensions.IEnumerableBaseTo``3(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Func{System.Collections.Generic.IEnumerable{``1},``2},System.Func{``2})">
+            <summary>
+            【内部方法】集合接口转具体实现
+            </summary>
+            <typeparam name="TSource"></typeparam>
+            <typeparam name="TResult"></typeparam>
+            <typeparam name="TArray"></typeparam>
+            <param name="source"></param>
+            <param name="selector"></param>
+            <param name="converter"></param>
+            <param name="defaultValueFunc">当<paramref name="source"/>为<see cref="!:null"/>时,会调用此委托生成默认值</param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.IEnumerableExtensions.ToList``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Collections.Generic.List{``1})">
+            <summary>
+            Select+ToList的组合版本
+            </summary>
+            <typeparam name="TSource"></typeparam>
+            <typeparam name="TResult"></typeparam>
+            <param name="source"></param>
+            <param name="selector"></param>
+            <param name="defaultValue">当<paramref name="source"/>为<see cref="!:null"/>时,返回的值.默认值为:0长度的<see cref="T:System.Collections.Generic.List`1"/></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.IEnumerableExtensions.ToListAsync``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Collections.Generic.List{``1})">
+            <summary>
+            Select+ToList的组合版本(异步)
+            </summary>
+            <typeparam name="TSource"></typeparam>
+            <typeparam name="TResult"></typeparam>
+            <param name="source"></param>
+            <param name="selector"></param>
+            <param name="defaultValue">当<paramref name="source"/>为<see cref="!:null"/>时,返回的值.默认值为:0长度的<see cref="T:System.Collections.Generic.List`1"/></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.IEnumerableExtensions.DistinctBy``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1})">
+            <summary>
+            按字段去重
+            </summary>
+            <typeparam name="TSource"></typeparam>
+            <typeparam name="TKey"></typeparam>
+            <param name="source"></param>
+            <param name="keySelector"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.IEnumerableExtensions.AddRange``1(System.Collections.Generic.ICollection{``0},``0[])">
+            <summary>
+            添加多个元素
+            </summary>
+            <typeparam name="T"></typeparam>
+            <param name="this"></param>
+            <param name="values"></param>
+        </member>
+        <member name="M:Masuit.Tools.IEnumerableExtensions.AddRangeIf``1(System.Collections.Generic.ICollection{``0},System.Func{``0,System.Boolean},``0[])">
+            <summary>
+            添加符合条件的多个元素
+            </summary>
+            <typeparam name="T"></typeparam>
+            <param name="this"></param>
+            <param name="predicate"></param>
+            <param name="values"></param>
+        </member>
+        <member name="M:Masuit.Tools.IEnumerableExtensions.AddRangeIfNotContains``1(System.Collections.Generic.ICollection{``0},``0[])">
+            <summary>
+            添加不重复的元素
+            </summary>
+            <typeparam name="T"></typeparam>
+            <param name="this"></param>
+            <param name="values"></param>
+        </member>
+        <member name="M:Masuit.Tools.IEnumerableExtensions.RemoveWhere``1(System.Collections.Generic.ICollection{``0},System.Func{``0,System.Boolean})">
+            <summary>
+            移除符合条件的元素
+            </summary>
+            <typeparam name="T"></typeparam>
+            <param name="this"></param>
+            <param name="where"></param>
+        </member>
+        <member name="M:Masuit.Tools.IEnumerableExtensions.ToList``2(System.Collections.Generic.IEnumerable{``0})">
+            <summary>
+            映射到目标类型的集合
+            </summary>
+            <param name="source">源</param>
+            <typeparam name="TDestination">目标类型</typeparam>
+            <returns>目标类型集合</returns>
+        </member>
+        <member name="M:Masuit.Tools.IEnumerableExtensions.ToListAsync``2(System.Collections.Generic.IEnumerable{``0})">
+            <summary>
+            映射到目标类型的集合
+            </summary>
+            <param name="source">源</param>
+            <typeparam name="TDestination">目标类型</typeparam>
+            <returns>目标类型集合</returns>
+        </member>
+        <member name="M:Masuit.Tools.IntExtensions.GetBytes(System.Int32)">
+            <summary>
+            转换成字节数组
+            </summary>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.IntExtensions.ToBinary(System.Int32,System.Int32)">
+            <summary>
+            十进制转任意进制
+            </summary>
+            <param name="num"></param>
+            <param name="bin">进制</param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.IPAddressExtensions.IsPrivateIP(System.Net.IPAddress)">
+            <summary>
+            判断IP是否是私有地址
+            </summary>
+            <param name="myIPAddress"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.LongExtensions.ToBinary(System.Int64,System.Int32)">
+            <summary>
+            十进制转任意进制
+            </summary>
+            <param name="num"></param>
+            <param name="bin">进制</param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.LongExtensions.GetBytes(System.Int64)">
+            <summary>
+            转换成字节数组
+            </summary>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.ObjectExtensions.Clone``1(System.Object)">
+            <summary>
+            浅克隆
+            </summary>
+            <param name="source">源</param>
+            <typeparam name="TDestination">目标类型</typeparam>
+            <returns>目标类型</returns>
+        </member>
+        <member name="M:Masuit.Tools.ObjectExtensions.DeepClone``1(System.Object)">
+            <summary>
+            深克隆
+            </summary>
+            <param name="source">源</param>
+            <typeparam name="TDestination">目标类型</typeparam>
+            <returns>目标类型</returns>
+        </member>
+        <member name="M:Masuit.Tools.ObjectExtensions.CloneAsync``1(System.Object)">
+            <summary>
+            浅克隆(异步)
+            </summary>
+            <param name="source">源</param>
+            <typeparam name="TDestination">目标类型</typeparam>
+            <returns>目标类型</returns>
+        </member>
+        <member name="M:Masuit.Tools.ObjectExtensions.DeepCloneAsync``1(System.Object)">
+            <summary>
+            深克隆(异步)
+            </summary>
+            <param name="source">源</param>
+            <typeparam name="TDestination">目标类型</typeparam>
+            <returns>目标类型</returns>
+        </member>
+        <member name="M:Masuit.Tools.ObjectExtensions.CheckNullWithException``1(``0,System.String)">
+            <summary>
+            检查参数是否为null,为null时抛出异常
+            </summary>
+            <typeparam name="T"></typeparam>
+            <param name="obj">      要检查的对象</param>
+            <param name="paramName">抛出异常时,显示的参数名</param>
+            <exception cref="T:System.ArgumentNullException"><paramref name="obj" /> 为null时抛出</exception>
+        </member>
+        <member name="M:Masuit.Tools.ObjectExtensions.CheckNullWithException``1(``0,System.String,System.String)">
+            <summary>
+            检查参数是否为null,为null时抛出异常
+            </summary>
+            <typeparam name="T"></typeparam>
+            <param name="obj">      要检查的对象</param>
+            <param name="paramName">抛出异常时,显示的参数名</param>
+            <param name="message">  抛出异常时,显示的错误信息</param>
+            <exception cref="T:System.ArgumentNullException"><paramref name="obj" /> 为null时抛出</exception>
+        </member>
+        <member name="M:Masuit.Tools.ObjectExtensions.CheckNullOrEmptyWithException(System.Collections.IEnumerable,System.String)">
+            <summary>
+            检查参数是否为null或emtpy,为null或emtpy时抛出异常
+            </summary>
+            <param name="obj">      要检查的对象</param>
+            <param name="paramName">抛出异常时,显示的参数名</param>
+            <exception cref="T:System.ArgumentNullException"><paramref name="obj" /> 为null或emtpy时抛出</exception>
+        </member>
+        <member name="M:Masuit.Tools.ObjectExtensions.CheckNullOrEmptyWithException(System.Collections.IEnumerable,System.String,System.String)">
+            <summary>
+            检查参数是否为null或emtpy,为null或emtpy时抛出异常
+            </summary>
+            <param name="obj">      要检查的对象</param>
+            <param name="paramName">抛出异常时,显示的参数名</param>
+            <param name="message">  抛出异常时,显示的错误信息</param>
+            <exception cref="T:System.ArgumentNullException"><paramref name="obj" /> 为null或emtpy时抛出</exception>
+        </member>
+        <member name="M:Masuit.Tools.ObjectExtensions.IsNullOrEmpty``1(``0)">
+            <summary>
+            判断是否为null,null或0长度都返回true
+            </summary>
+            <typeparam name="T"></typeparam>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.ObjectExtensions.ToJsonExt``1(``0,Newtonsoft.Json.JsonSerializerSettings)">
+            <summary>
+            转换成json字符串
+            </summary>
+            <param name="source"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.ObjectExtensions.ReferenceEquals(System.Object,System.Object)">
+            <summary>
+            严格比较两个对象是否是同一对象(判断引用)
+            </summary>
+            <param name="this">自己</param>
+            <param name="o">需要比较的对象</param>
+            <returns>是否同一对象</returns>
+        </member>
+        <member name="M:Masuit.Tools.ObjectExtensions.MapTo``1(System.Object)">
+            <summary>
+            映射到目标类型(浅克隆)
+            </summary>
+            <param name="source">源</param>
+            <typeparam name="TDestination">目标类型</typeparam>
+            <returns>目标类型</returns>
+        </member>
+        <member name="M:Masuit.Tools.ObjectExtensions.Map``1(System.Object)">
+            <summary>
+            映射到目标类型(深克隆)
+            </summary>
+            <param name="source">源</param>
+            <typeparam name="TDestination">目标类型</typeparam>
+            <returns>目标类型</returns>
+        </member>
+        <member name="M:Masuit.Tools.ObjectExtensions.MapToAsync``1(System.Object)">
+            <summary>
+            映射到目标类型(浅克隆)
+            </summary>
+            <param name="source">源</param>
+            <typeparam name="TDestination">目标类型</typeparam>
+            <returns>目标类型</returns>
+        </member>
+        <member name="M:Masuit.Tools.ObjectExtensions.MapAsync``1(System.Object)">
+            <summary>
+            映射到目标类型(深克隆)
+            </summary>
+            <param name="source">源</param>
+            <typeparam name="TDestination">目标类型</typeparam>
+            <returns>目标类型</returns>
+        </member>
+        <member name="M:Masuit.Tools.ObjectExtensions.ToJsonString(System.Object)">
+            <summary>
+            转换成json字符串
+            </summary>
+            <param name="source"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.RandomExtensions.StrictNext(System.Random,System.Int32)">
+            <summary>
+            生成真正的随机数
+            </summary>
+            <param name="r"></param>
+            <param name="seed"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.RandomExtensions.NextGauss(System.Random,System.Double,System.Double)">
+            <summary>
+            产生正态分布的随机数
+            </summary>
+            <param name="rand"></param>
+            <param name="mean">均值</param>
+            <param name="stdDev">方差</param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.ShortExtensions.GetBytes(System.Int16)">
+            <summary>
+            转换成字节数组
+            </summary>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.StreamExtensions.SaveAsMemoryStream(System.IO.Stream)">
+            <summary>
+            将流转换为内存流
+            </summary>
+            <param name="stream"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.StreamExtensions.ToArray(System.IO.Stream)">
+             <summary>
+            
+             </summary>
+             <param name="stream"></param>
+             <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.StringExtensions.ToDateTime(System.String)">
+            <summary>
+            字符串转时间
+            </summary>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.StringExtensions.ToGuid(System.String)">
+            <summary>
+            字符串转Guid
+            </summary>
+            <param name="s"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.StringExtensions.Replace(System.String,System.Text.RegularExpressions.Regex,System.String)">
+            <summary>
+            根据正则替换
+            </summary>
+            <param name="input"></param>
+            <param name="regex">正则表达式</param>
+            <param name="replacement">新内容</param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.StringExtensions.CreateShortToken(System.String,System.Byte)">
+            <summary>
+            生成唯一短字符串
+            </summary>
+            <param name="str"></param>
+            <param name="chars">可用字符数数量,0-9,a-z,A-Z</param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.StringExtensions.ToBinary(System.String,System.Int32)">
+            <summary>
+            任意进制转十进制
+            </summary>
+            <param name="str"></param>
+            <param name="bin">进制</param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.StringExtensions.ToBinaryBig(System.String,System.Int32)">
+            <summary>
+            任意进制转大数十进制
+            </summary>
+            <param name="str"></param>
+            <param name="bin">进制</param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.StringExtensions.Contains(System.String,System.Collections.Generic.IEnumerable{System.String},System.Boolean)">
+            <summary>
+            检测字符串中是否包含列表中的关键词
+            </summary>
+            <param name="s">源字符串</param>
+            <param name="keys">关键词列表</param>
+            <param name="ignoreCase">忽略大小写</param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.StringExtensions.ContainsSymbol(System.String,System.String[])">
+            <summary>
+            判断是否包含符号
+            </summary>
+            <param name="str"></param>
+            <param name="symbols"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.StringExtensions.IsNullOrEmpty(System.String)">
+            <summary>
+            判断字符串是否为空或""
+            </summary>
+            <param name="s"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.StringExtensions.Mask(System.String,System.Char)">
+            <summary>
+            字符串掩码
+            </summary>
+            <param name="s">字符串</param>
+            <param name="mask">掩码符</param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.StringExtensions.MatchEmail(System.String,System.Boolean)">
+            <summary>
+            匹配Email
+            </summary>
+            <param name="s">源字符串</param>
+            <param name="valid">是否验证有效性</param>
+            <returns>匹配对象;是否匹配成功,若返回true,则会得到一个Match对象,否则为null</returns>
+        </member>
+        <member name="M:Masuit.Tools.StringExtensions.MaskEmail(System.String,System.Char)">
+            <summary>
+            邮箱掩码
+            </summary>
+            <param name="s">邮箱</param>
+            <param name="mask">掩码</param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.StringExtensions.MatchUrl(System.String,System.Boolean@)">
+            <summary>
+            匹配完整格式的URL
+            </summary>
+            <param name="s">源字符串</param>
+            <param name="isMatch">是否匹配成功,若返回true,则会得到一个Match对象,否则为null</param>
+            <returns>匹配对象</returns>
+        </member>
+        <member name="M:Masuit.Tools.StringExtensions.MatchUrl(System.String)">
+            <summary>
+            匹配完整格式的URL
+            </summary>
+            <param name="s">源字符串</param>
+            <returns>是否匹配成功</returns>
+        </member>
+        <member name="M:Masuit.Tools.StringExtensions.MatchIdentifyCard(System.String)">
+            <summary>
+            根据GB11643-1999标准权威校验中国身份证号码的合法性
+            </summary>
+            <param name="s">源字符串</param>
+            <returns>是否匹配成功</returns>
+        </member>
+        <member name="M:Masuit.Tools.StringExtensions.MatchInetAddress(System.String,System.Boolean@)">
+            <summary>
+            校验IP地址的正确性,同时支持IPv4和IPv6
+            </summary>
+            <param name="s">源字符串</param>
+            <param name="isMatch">是否匹配成功,若返回true,则会得到一个Match对象,否则为null</param>
+            <returns>匹配对象</returns>
+        </member>
+        <member name="M:Masuit.Tools.StringExtensions.MatchInetAddress(System.String)">
+            <summary>
+            校验IP地址的正确性,同时支持IPv4和IPv6
+            </summary>
+            <param name="s">源字符串</param>
+            <returns>是否匹配成功</returns>
+        </member>
+        <member name="M:Masuit.Tools.StringExtensions.IPToID(System.String)">
+            <summary>
+            IP地址转换成数字
+            </summary>
+            <param name="addr">IP地址</param>
+            <returns>数字,输入无效IP地址返回0</returns>
+        </member>
+        <member name="M:Masuit.Tools.StringExtensions.IsPrivateIP(System.String)">
+            <summary>
+            判断IP是否是私有地址
+            </summary>
+            <param name="ip"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.StringExtensions.IpAddressInRange(System.String,System.String,System.String)">
+            <summary>
+            判断IP地址在不在某个IP地址段
+            </summary>
+            <param name="input">需要判断的IP地址</param>
+            <param name="begin">起始地址</param>
+            <param name="ends">结束地址</param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.StringExtensions.MatchPhoneNumber(System.String,System.Boolean@)">
+            <summary>
+            匹配手机号码
+            </summary>
+            <param name="s">源字符串</param>
+            <param name="isMatch">是否匹配成功,若返回true,则会得到一个Match对象,否则为null</param>
+            <returns>匹配对象</returns>
+        </member>
+        <member name="M:Masuit.Tools.StringExtensions.MatchPhoneNumber(System.String)">
+            <summary>
+            匹配手机号码
+            </summary>
+            <param name="s">源字符串</param>
+            <returns>是否匹配成功</returns>
+        </member>
+        <member name="M:Masuit.Tools.StringExtensions.IsExternalAddress(System.String)">
+            <summary>
+            判断url是否是外部地址
+            </summary>
+            <param name="url"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.StringExtensions.ToByteArray(System.String)">
+            <summary>
+            转换成字节数组
+            </summary>
+            <param name="this"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.StringExtensions.Crc32(System.String)">
+            <summary>
+            获取字符串crc32签名
+            </summary>
+            <param name="s"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.StringExtensions.Crc64(System.String)">
+            <summary>
+            获取字符串crc64签名
+            </summary>
+            <param name="s"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.StringExtensions.FromBinary(System.String,System.Int32)">
+            <summary>
+            任意进制转十进制
+            </summary>
+            <param name="str"></param>
+            <param name="bin">进制</param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.StringExtensions.FromBinaryBig(System.String,System.Int32)">
+            <summary>
+            任意进制转大数十进制
+            </summary>
+            <param name="str"></param>
+            <param name="bin">进制</param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.ValueTypeConvertExtensions.ToInt32(System.String,System.Int32)">
+            <summary>
+            字符串转int
+            </summary>
+            <param name="s">源字符串</param>
+            <param name="defaultValue">失败时返回的值</param>
+            <returns>int类型的数字</returns>
+        </member>
+        <member name="M:Masuit.Tools.ValueTypeConvertExtensions.ToInt64(System.String,System.Int64)">
+            <summary>
+            字符串转long
+            </summary>
+            <param name="s">源字符串</param>
+            <param name="defaultValue">失败时返回的值</param>
+            <returns>int类型的数字</returns>
+        </member>
+        <member name="M:Masuit.Tools.ValueTypeConvertExtensions.ToLong(System.String,System.Int64)">
+            <summary>
+            字符串转long类型
+            </summary>
+            <param name="str"></param>
+            <param name="defaultResult">转换失败的默认值</param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.ValueTypeConvertExtensions.ToDouble(System.String,System.Double)">
+            <summary>
+            字符串转double
+            </summary>
+            <param name="s">源字符串</param>
+            <param name="defaultValue">失败时返回的值</param>
+            <returns>double类型的数据</returns>
+        </member>
+        <member name="M:Masuit.Tools.ValueTypeConvertExtensions.ToDecimal(System.String,System.Decimal)">
+            <summary>
+            字符串转decimal
+            </summary>
+            <param name="s">源字符串</param>
+            <param name="defaultValue">失败时返回的值</param>
+            <returns>int类型的数字</returns>
+        </member>
+        <member name="M:Masuit.Tools.ValueTypeConvertExtensions.ToDecimal(System.Double)">
+            <summary>
+            字符串转decimal
+            </summary>
+            <param name="s">源字符串</param>
+            <returns>int类型的数字</returns>
+        </member>
+        <member name="M:Masuit.Tools.ValueTypeConvertExtensions.ToDouble(System.Decimal)">
+            <summary>
+            字符串转double
+            </summary>
+            <param name="s">源字符串</param>
+            <returns>double类型的数据</returns>
+        </member>
+        <member name="M:Masuit.Tools.ValueTypeConvertExtensions.ToInt32(System.Double)">
+            <summary>
+            将double转换成int
+            </summary>
+            <param name="num">double类型</param>
+            <returns>int类型</returns>
+        </member>
+        <member name="M:Masuit.Tools.ValueTypeConvertExtensions.ToInt32(System.Decimal)">
+            <summary>
+            将double转换成int
+            </summary>
+            <param name="num">double类型</param>
+            <returns>int类型</returns>
+        </member>
+        <member name="M:Masuit.Tools.ValueTypeConvertExtensions.ToDouble(System.Int32)">
+            <summary>
+            将int转换成double
+            </summary>
+            <param name="num">int类型</param>
+            <returns>int类型</returns>
+        </member>
+        <member name="M:Masuit.Tools.ValueTypeConvertExtensions.ToDecimal(System.Int32)">
+            <summary>
+            将int转换成decimal
+            </summary>
+            <param name="num">int类型</param>
+            <returns>int类型</returns>
+        </member>
+        <member name="T:Masuit.Tools.Files.FileExt">
+            <summary>
+            大文件操作扩展类
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Files.FileExt.CopyToFile(System.IO.Stream,System.String,System.Int32)">
+            <summary>
+            以文件流的形式复制大文件
+            </summary>
+            <param name="fs">源</param>
+            <param name="dest">目标地址</param>
+            <param name="bufferSize">缓冲区大小,默认8MB</param>
+        </member>
+        <member name="M:Masuit.Tools.Files.FileExt.CopyToFileAsync(System.IO.Stream,System.String,System.Int32)">
+            <summary>
+            以文件流的形式复制大文件(异步方式)
+            </summary>
+            <param name="fs">源</param>
+            <param name="dest">目标地址</param>
+            <param name="bufferSize">缓冲区大小,默认8MB</param>
+        </member>
+        <member name="M:Masuit.Tools.Files.FileExt.SaveFile(System.IO.MemoryStream,System.String)">
+            <summary>
+            将内存流转储成文件
+            </summary>
+            <param name="ms"></param>
+            <param name="filename"></param>
+        </member>
+        <member name="M:Masuit.Tools.Files.FileExt.GetFileMD5(System.IO.FileStream)">
+            <summary>
+            计算文件的 MD5 值
+            </summary>
+            <param name="fs">源文件流</param>
+            <returns>MD5 值16进制字符串</returns>
+        </member>
+        <member name="M:Masuit.Tools.Files.FileExt.GetFileSha1(System.IO.Stream)">
+            <summary>
+            计算文件的 sha1 值
+            </summary>
+            <param name="fs">源文件流</param>
+            <returns>sha1 值16进制字符串</returns>
+        </member>
+        <member name="M:Masuit.Tools.Files.FileExt.HashFile(System.IO.Stream,System.String)">
+            <summary>
+            计算文件的哈希值
+            </summary>
+            <param name="fs">被操作的源数据流</param>
+            <param name="algo">加密算法</param>
+            <returns>哈希值16进制字符串</returns>
+        </member>
+        <member name="T:Masuit.Tools.Files.INIFile">
+            <summary>
+            INI文件操作辅助类
+            </summary>
+        </member>
+        <member name="F:Masuit.Tools.Files.INIFile.path">
+            <summary>
+            文件路径
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Files.INIFile.#ctor(System.String)">
+            <summary>
+            传入INI文件路径构造对象
+            </summary>
+            <param name="INIPath">INI文件路径</param>
+        </member>
+        <member name="M:Masuit.Tools.Files.INIFile.IniWriteValue(System.String,System.String,System.String)">
+            <summary>
+            写INI文件
+            </summary>
+            <param name="Section">分组节点</param>
+            <param name="Key">关键字</param>
+            <param name="Value">值</param>
+        </member>
+        <member name="M:Masuit.Tools.Files.INIFile.IniReadValue(System.String,System.String)">
+            <summary>
+            读取INI文件
+            </summary>
+            <param name="Section">分组节点</param>
+            <param name="Key">关键字</param>
+            <returns>值</returns>
+        </member>
+        <member name="M:Masuit.Tools.Files.INIFile.IniReadValues(System.String,System.String)">
+            <summary>
+            读取INI文件
+            </summary>
+            <param name="section">分组节点</param>
+            <param name="key">关键字</param>
+            <returns>值的字节表现形式</returns>
+        </member>
+        <member name="M:Masuit.Tools.Files.INIFile.ClearAllSection">
+            <summary>
+            删除ini文件下所有段落
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Files.INIFile.ClearSection(System.String)">
+            <summary>
+            删除ini文件下指定段落下的所有键
+            </summary>
+            <param name="Section">分组节点</param>
+        </member>
+        <member name="T:Masuit.Tools.Files.WinrarHelper">
+            <summary>
+            WinRAR压缩操作
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Files.WinrarHelper.Rar(System.String,System.String,System.String)">
+            <summary>
+            压缩
+            </summary>
+            <param name="zipname">要解压的文件名</param>
+            <param name="zippath">要压缩的文件目录</param>
+            <param name="dirpath">初始目录</param>
+        </member>
+        <member name="M:Masuit.Tools.Files.WinrarHelper.UnRar(System.String,System.String)">
+            <summary>
+            解压缩
+            </summary>
+            <param name="zipname">要解压的文件名</param>
+            <param name="zippath">要解压的文件路径</param>
+        </member>
+        <member name="T:Masuit.Tools.Html.HtmlTools">
+            <summary>
+            html工具类
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Html.HtmlTools.HtmlSantinizerStandard(System.String)">
+            <summary>
+            标准的防止html的xss净化器
+            </summary>
+            <param name="html"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Html.HtmlTools.HtmlSantinizerCustom(System.String,System.String[],System.String[],System.String[])">
+            <summary>
+            自定义的防止html的xss净化器
+            </summary>
+            <param name="html">源html</param>
+            <param name="labels">需要移除的标签集合</param>
+            <param name="attributes">需要移除的属性集合</param>
+            <param name="styles">需要移除的样式集合</param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Html.HtmlTools.RemoveHtmlTag(System.String,System.Int32)">
+            <summary>
+            去除html标签后并截取字符串
+            </summary>
+            <param name="html">源html</param>
+            <param name="length">截取长度</param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Html.HtmlTools.ClearHtml(System.String)">
+            <summary>
+            清理Word文档转html后的冗余标签属性
+            </summary>
+            <param name="html"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Html.HtmlTools.ReplaceHtmlImgSource(System.String,System.String)">
+            <summary>
+            替换html的img路径为绝对路径
+            </summary>
+            <param name="html"></param>
+            <param name="imgDest"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Html.HtmlTools.ConvertImgSrcToRelativePath(System.String)">
+            <summary>
+            将src的绝对路径换成相对路径
+            </summary>
+            <param name="s"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Html.HtmlTools.MatchImgTags(System.String)">
+            <summary>
+            匹配html的所有img标签集合
+            </summary>
+            <param name="html"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Html.HtmlTools.MatchImgSrcs(System.String)">
+            <summary>
+            匹配html的所有img标签的src集合
+            </summary>
+            <param name="html"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Html.HtmlTools.MatchFirstImgSrc(System.String)">
+            <summary>
+            获取html中第一个img标签的src
+            </summary>
+            <param name="html"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Html.HtmlTools.MatchRandomImgSrc(System.String)">
+            <summary>
+            随机获取html代码中的img标签的src属性
+            </summary>
+            <param name="html"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Html.HtmlTools.MatchSeqRandomImgSrc(System.String)">
+            <summary>
+            按顺序优先获取html代码中的img标签的src属性
+            </summary>
+            <param name="html"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Html.HtmlTools.StrFormat(System.String)">
+            <summary>
+            替换回车换行符为html换行符
+            </summary>
+            <param name="str">html</param>
+        </member>
+        <member name="M:Masuit.Tools.Html.HtmlTools.EncodeHtml(System.String)">
+            <summary>
+            替换html字符
+            </summary>
+            <param name="strHtml">html</param>
+        </member>
+        <member name="T:Masuit.Tools.Linq.LinqExtension">
+            <summary>
+            LINQ扩展方法
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Linq.LinqExtension.And``1(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}})">
+            <summary>
+            与连接
+            </summary>
+            <typeparam name="T">类型</typeparam>
+            <param name="left">左条件</param>
+            <param name="right">右条件</param>
+            <returns>新表达式</returns>
+        </member>
+        <member name="M:Masuit.Tools.Linq.LinqExtension.Or``1(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}})">
+            <summary>
+            或连接
+            </summary>
+            <typeparam name="T">类型</typeparam>
+            <param name="left">左条件</param>
+            <param name="right">右条件</param>
+            <returns>新表达式</returns>
+        </member>
+        <member name="T:Masuit.Tools.Logging.LogInfo">
+            <summary>
+            日志信息
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Logging.LogInfo.Time">
+            <summary>
+            时间
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Logging.LogInfo.ThreadId">
+            <summary>
+            线程id
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Logging.LogInfo.LogLevel">
+            <summary>
+            日志级别
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Logging.LogInfo.Source">
+            <summary>
+            异常源
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Logging.LogInfo.Message">
+            <summary>
+            异常信息
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Logging.LogInfo.Exception">
+            <summary>
+            异常对象
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Logging.LogInfo.ExceptionType">
+            <summary>
+            日志类型
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Logging.LogInfo.RequestUrl">
+            <summary>
+            请求路径
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Logging.LogInfo.UserAgent">
+            <summary>
+            客户端代理
+            </summary>
+        </member>
+        <member name="T:Masuit.Tools.Logging.LogLevel">
+            <summary>
+            日志级别
+            </summary>
+        </member>
+        <member name="F:Masuit.Tools.Logging.LogLevel.Info">
+            <summary>
+            信息级别
+            </summary>
+        </member>
+        <member name="F:Masuit.Tools.Logging.LogLevel.Debug">
+            <summary>
+            debug级别
+            </summary>
+        </member>
+        <member name="F:Masuit.Tools.Logging.LogLevel.Error">
+            <summary>
+            错误级别
+            </summary>
+        </member>
+        <member name="F:Masuit.Tools.Logging.LogLevel.Fatal">
+            <summary>
+            致命级别
+            </summary>
+        </member>
+        <member name="T:Masuit.Tools.Logging.LogManager">
+            <summary>
+            日志组件
+            </summary>
+        </member>
+        <member name="E:Masuit.Tools.Logging.LogManager.Event">
+            <summary>
+            自定义事件
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Logging.LogManager.LogDirectory">
+            <summary>
+            日志存放目录,默认日志放在当前应用程序运行目录下的logs文件夹中
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Logging.LogManager.Info(System.String)">
+            <summary>
+            写入Info级别的日志
+            </summary>
+            <param name="info"></param>
+        </member>
+        <member name="M:Masuit.Tools.Logging.LogManager.Info(System.String,System.String)">
+            <summary>
+            写入Info级别的日志
+            </summary>
+            <param name="source"></param>
+            <param name="info"></param>
+        </member>
+        <member name="M:Masuit.Tools.Logging.LogManager.Info(System.Type,System.String)">
+            <summary>
+            写入Info级别的日志
+            </summary>
+            <param name="source"></param>
+            <param name="info"></param>
+        </member>
+        <member name="M:Masuit.Tools.Logging.LogManager.Debug(System.String)">
+            <summary>
+            写入debug级别日志
+            </summary>
+            <param name="debug">异常对象</param>
+        </member>
+        <member name="M:Masuit.Tools.Logging.LogManager.Debug(System.String,System.String)">
+            <summary>
+            写入debug级别日志
+            </summary>
+            <param name="source">异常源的类型</param>
+            <param name="debug">异常对象</param>
+        </member>
+        <member name="M:Masuit.Tools.Logging.LogManager.Debug(System.Type,System.String)">
+            <summary>
+            写入debug级别日志
+            </summary>
+            <param name="source">异常源的类型</param>
+            <param name="debug">异常对象</param>
+        </member>
+        <member name="M:Masuit.Tools.Logging.LogManager.Error(System.Exception)">
+            <summary>
+            写入error级别日志
+            </summary>
+            <param name="error">异常对象</param>
+        </member>
+        <member name="M:Masuit.Tools.Logging.LogManager.Error(System.Type,System.Exception)">
+            <summary>
+            写入error级别日志
+            </summary>
+            <param name="source">异常源的类型</param>
+            <param name="error">异常对象</param>
+        </member>
+        <member name="M:Masuit.Tools.Logging.LogManager.Error(System.Type,System.String)">
+            <summary>
+            写入error级别日志
+            </summary>
+            <param name="source">异常源的类型</param>
+            <param name="error">异常信息</param>
+        </member>
+        <member name="M:Masuit.Tools.Logging.LogManager.Error(System.String,System.Exception)">
+            <summary>
+            写入error级别日志
+            </summary>
+            <param name="source">异常源的类型</param>
+            <param name="error">异常对象</param>
+        </member>
+        <member name="M:Masuit.Tools.Logging.LogManager.Error(System.String,System.String)">
+            <summary>
+            写入error级别日志
+            </summary>
+            <param name="source">异常源的类型</param>
+            <param name="error">异常信息</param>
+        </member>
+        <member name="M:Masuit.Tools.Logging.LogManager.Fatal(System.Exception)">
+            <summary>
+            写入fatal级别日志
+            </summary>
+            <param name="fatal">异常对象</param>
+        </member>
+        <member name="M:Masuit.Tools.Logging.LogManager.Fatal(System.Type,System.Exception)">
+            <summary>
+            写入fatal级别日志
+            </summary>
+            <param name="source">异常源的类型</param>
+            <param name="fatal">异常对象</param>
+        </member>
+        <member name="M:Masuit.Tools.Logging.LogManager.Fatal(System.Type,System.String)">
+            <summary>
+            写入fatal级别日志
+            </summary>
+            <param name="source">异常源的类型</param>
+            <param name="fatal">异常对象</param>
+        </member>
+        <member name="M:Masuit.Tools.Logging.LogManager.Fatal(System.String,System.Exception)">
+            <summary>
+            写入fatal级别日志
+            </summary>
+            <param name="source">异常源的类型</param>
+            <param name="fatal">异常对象</param>
+        </member>
+        <member name="M:Masuit.Tools.Logging.LogManager.Fatal(System.String,System.String)">
+            <summary>
+            写入fatal级别日志
+            </summary>
+            <param name="source">异常源的类型</param>
+            <param name="fatal">异常对象</param>
+        </member>
+        <member name="T:Masuit.Tools.Mapping.Copier`1">
+            <summary>
+            表达式树复制对象
+            </summary>
+            <typeparam name="T"></typeparam>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Copier`1.Copy(`0)">
+            <summary>
+            深拷贝
+            </summary>
+            <param name="source"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Masuit.Tools.Mapping.Core.CreateConfig">
+            <summary>
+            映射配置对象
+            </summary>
+        </member>
+        <member name="T:Masuit.Tools.Mapping.Core.MapperConfiguration`2">
+            <summary>
+            主映射器
+            </summary>
+            <typeparam name="TSource">源类型</typeparam>
+            <typeparam name="TDest">目标类型</typeparam>
+        </member>
+        <member name="F:Masuit.Tools.Mapping.Core.MapperConfiguration`2.actionsAfterMap">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Core.MapperConfiguration`2.#ctor(System.String,System.String)">
+            <summary>
+            构造函数
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Core.MapperConfiguration`2.GetLambdaExpression">
+            <summary>
+            获取Lambda表达式树
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Core.MapperConfiguration`2.GetFuncDelegate">
+            <summary>
+            获取委托
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Core.MapperConfiguration`2.ForMember``2(System.Linq.Expressions.Expression{System.Func{`0,``0}},System.Linq.Expressions.Expression{System.Func{`1,``1}})">
+            <summary>
+            映射成员
+            </summary>
+            <param name="getPropertySource">源类型</param>
+            <param name="getPropertyDest">目标类型</param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Core.MapperConfiguration`2.ForMember``2(System.Linq.Expressions.Expression{System.Func{`0,``0}},System.Linq.Expressions.Expression{System.Func{`1,``1}},System.Boolean)">
+            <summary>
+            映射成员
+            </summary>
+            <typeparam name="TPropertySource">属性源类型</typeparam>
+            <typeparam name="TPropertyDest">属性目标类型</typeparam>
+            <param name="getPropertySource">源类型</param>
+            <param name="getPropertyDest">目标类型</param>
+            <param name="checkIfNull">是否检查null值</param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Core.MapperConfiguration`2.ForMember``2(System.Linq.Expressions.Expression{System.Func{`0,``0}},System.Linq.Expressions.Expression{System.Func{`1,``1}},System.String)">
+            <summary>
+            映射成员
+            </summary>
+            <typeparam name="TPropertySource">属性源类型</typeparam>
+            <typeparam name="TPropertyDest">属性目标类型</typeparam>
+            <param name="getPropertySource">源类型</param>
+            <param name="getPropertyDest">目标类型</param>
+            <param name="mapperName">mapper别名</param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Core.MapperConfiguration`2.Ignore``1(System.Linq.Expressions.Expression{System.Func{`1,``0}})">
+            <summary>
+            忽略一些不需要映射的成员
+            </summary>
+            <param name="propertyDest">属性名</param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Core.MapperConfiguration`2.AfterMap(System.Action{`0,`1})">
+            <summary>
+            映射后要执行的操作
+            </summary>
+            <param name="actionAfterMap">映射后要执行的操作</param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Core.MapperConfiguration`2.ExecuteAfterActions(`0,`1)">
+            <summary>
+            执行后续操作。
+            </summary>
+            <param name="source">源类型</param>
+            <param name="dest">目标类型</param>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Core.MapperConfiguration`2.ReverseMap(System.String)">
+            <summary>
+            反向映射
+            </summary>
+            <param name="name">mapper别名</param>
+            <returns>
+            新的mapper对象
+            </returns>
+            <exception cref="T:Masuit.Tools.Mapping.Exceptions.MapperExistException"></exception>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Core.MapperConfiguration`2.ConstructUsingServiceLocator">
+            <summary>
+            是否使用服务注入
+            </summary>
+        </member>
+        <member name="T:Masuit.Tools.Mapping.Core.MapperConfigurationBase">
+            <summary>
+            mapper配置基类
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Mapping.Core.MapperConfigurationBase.PropertiesMapping">
+            <summary>
+            属性映射对应关系<br/>
+            Item1 : 源表达式<br/>
+            Item2 : 目标表达式<br/>
+            Item3 : 检查null值<br/>
+            Item4 : mapper别名<br/>
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Mapping.Core.MapperConfigurationBase.PropertiesToIgnore">
+            <summary>
+            需要被忽略映射的属性
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Mapping.Core.MapperConfigurationBase.UseServiceLocator">
+            <summary>
+            是否使用服务依赖注入
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Mapping.Core.MapperConfigurationBase.SourceType">
+            <summary>
+            对象源类型
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Mapping.Core.MapperConfigurationBase.TargetType">
+            <summary>
+            对象目标类型
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Mapping.Core.MapperConfigurationBase.MemberToMapForNew">
+            <summary>
+            获取mapper映射成员
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Mapping.Core.MapperConfigurationBase.Name">
+            <summary>
+            mapper别名
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Core.MapperConfigurationBase.#ctor(System.Type,System.Type,System.String,System.String)">
+            <summary>
+            构造函数
+            </summary>
+            <param name="source">源类型</param>
+            <param name="destination">目标类型</param>
+            <param name="paramName">属性名</param>
+            <param name="name">别名</param>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Core.MapperConfigurationBase.GetDelegate">
+            <summary>
+            获取mapper委托
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Core.MapperConfigurationBase.GetDelegateForExistingTarget">
+            <summary>
+            获取现有目标类型的委托。
+            </summary>
+            <exception cref="T:Masuit.Tools.Mapping.Exceptions.MapperNotInitializedException"></exception>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Core.MapperConfigurationBase.GetGenericLambdaExpression">
+            <summary>
+            获取泛型的Lambda表达式
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Core.MapperConfigurationBase.GetDestinationType">
+            <summary>
+            获取目标类型的实际类型
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Core.MapperConfigurationBase.IgnoreBase``2(System.Linq.Expressions.Expression{System.Func{``0,``1}})">
+            <summary>
+            忽略目标类型的属性
+            </summary>
+            <typeparam name="TDest">对象源类型</typeparam>
+            <typeparam name="TProperty">对象目标类型</typeparam>
+            <param name="propertyDest">目标对象的属性</param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Core.MapperConfigurationBase.GetMapper(System.Type,System.Type,System.Boolean,System.String)">
+            <summary>
+            获取映射器实例
+            </summary>
+            <param name="typeOfSource">源类型</param>
+            <param name="typeOfTarget">目标类型</param>
+            <param name="throwExceptionOnNoFound">如果没找到是否需要抛出异常</param>
+            <param name="name">mapper别名</param>
+            <returns></returns>
+            <exception cref="T:Masuit.Tools.Mapping.Exceptions.NoFoundMapperException"></exception>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Core.MapperConfigurationBase.CreateCommonMember">
+            <summary>
+            创建公共成员
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Core.MapperConfigurationBase.CheckAndConfigureMapping(System.Tuple{System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.String}@)">
+            <summary>
+            检查并配置mapper
+            </summary>
+            <param name="configExpression">配置表达式树</param>
+            <exception cref="T:Masuit.Tools.Mapping.Exceptions.NotSameTypePropertyException">
+            </exception>
+            <exception cref="T:Masuit.Tools.Mapping.Exceptions.ReadOnlyPropertyException"></exception>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Core.MapperConfigurationBase.CheckAndRemoveMemberDest(System.String)">
+            <summary>
+            检查并移除目标成员
+            </summary>
+            <param name="properyName">属性名</param>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Core.MapperConfigurationBase.GetMemberInitExpression">
+            <summary>
+            获取成员初始化表达式。
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Core.MapperConfigurationBase.CreateMemberBinding(System.Linq.Expressions.Expression,System.Reflection.MemberInfo,System.Boolean)">
+            <summary>
+            创建成员绑定。
+            </summary>
+            <param name="propertyExpression">属性表达式</param>
+            <param name="propertyTarget">目标属性</param>
+            <param name="checkIfNull">是否检查null值</param>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Core.MapperConfigurationBase.ForMemberBase(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.String)">
+            <summary>
+            将表达式源的映射分配给属性目标。
+            </summary>
+            <param name="getPropertySource">属性源类型</param>
+            <param name="getPropertyDest">属性目标类型</param>
+            <param name="checkIfNull">是否检查null值</param>
+            <param name="name">要使用的映射器的别名</param>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Core.MapperConfigurationBase.GetPropertyInfo(System.Linq.Expressions.Expression)">
+            <summary>
+            获取属性信息。
+            </summary>
+            <param name="propertyExpression">属性表达式树</param>
+            <returns></returns>
+            <exception cref="T:System.NotImplementedException">
+            这种表达方式不承担职责,或者这种类型的表达式是无效的
+            </exception>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Core.MapperConfigurationBase.CreateMemberAssignementForExistingTarget">
+            <summary>
+            为现有目标对象创建成员
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Core.MapperConfigurationBase.CreateMappingExpression(System.Func{System.Type,System.Object})">
+            <summary>
+            创建映射表达式树
+            </summary>
+            <param name="constructor"></param>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Core.MapperConfigurationBase.GetSortedExpression(System.String)">
+            <summary>
+            获取排序表达式树
+            </summary>
+            <param name="propertySource">属性名</param>
+            <returns></returns>
+        </member>
+        <member name="T:Masuit.Tools.Mapping.Core.MapperConfigurationCollectionContainer">
+            <summary>
+            单例存储映射器。
+            </summary>
+            <remarks>不需要单例,因为适用于所有线程。</remarks>
+        </member>
+        <member name="P:Masuit.Tools.Mapping.Core.MapperConfigurationCollectionContainer.Instance">
+            <summary>
+            mapper映射容器
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Mapping.Core.MapperConfigurationCollectionContainer.Count">
+            <summary>
+            count
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Mapping.Core.MapperConfigurationCollectionContainer.Item(System.Int32)">
+            <summary>
+            索引器
+            </summary>
+            <param name="index"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Core.MapperConfigurationCollectionContainer.Find(System.Type,System.Type,System.String)">
+            <summary>
+            查找指定的源。
+            </summary>
+            <param name="source">源类型</param>
+            <param name="target">目标对象</param>
+            <param name="name">别名</param>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Core.MapperConfigurationCollectionContainer.Exists(System.Func{Masuit.Tools.Mapping.Core.MapperConfigurationBase,System.Boolean})">
+            <summary>
+            是否存在谓词的映射。
+            </summary>
+            <param name="match">条件表达式</param>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Core.MapperConfigurationCollectionContainer.RemoveAt(System.Int32)">
+            <summary>
+            移除指定的元素
+            </summary>
+            <param name="index"></param>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Core.MapperConfigurationCollectionContainer.Clear">
+            <summary>
+            清除
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Core.MapperConfigurationCollectionContainer.Add(Masuit.Tools.Mapping.Core.MapperConfigurationBase)">
+            <summary>
+            添加
+            </summary>
+            <param name="value"></param>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Core.MapperConfigurationCollectionContainer.GetEnumerator">
+            <summary>
+            迭代器
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Core.MapperConfigurationCollectionContainer.System#Collections#IEnumerable#GetEnumerator">
+            <summary>
+            迭代器
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="T:Masuit.Tools.Mapping.Core.PropertiesNotMapped">
+            <summary>
+            未映射的属性的处理结果。
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Mapping.Core.PropertiesNotMapped.SourceProperties">
+            <summary>
+            获取未映射的源属性。
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Mapping.Core.PropertiesNotMapped.TargetProperties">
+            <summary>
+            获取未映射的目标属性。
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Core.PropertiesNotMapped.#ctor">
+            <summary>
+            构造函数
+            </summary>
+        </member>
+        <member name="T:Masuit.Tools.Mapping.Exceptions.MapperExceptionBase">
+            <summary>
+            mapper异常基类
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Exceptions.MapperExceptionBase.#ctor(System.String)">
+            <summary>
+            构造函数
+            </summary>
+            <param name="exceptionMessage">异常信息</param>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Exceptions.MapperExceptionBase.#ctor">
+            <summary>
+            无参构造函数
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Exceptions.MapperExceptionBase.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            构造函数
+            </summary>
+            <param name="serializer">序列化信息</param>
+            <param name="context">上下文</param>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Exceptions.MapperExceptionBase.#ctor(System.String,System.Exception)">
+            <summary>
+            构造函数
+            </summary>
+            <param name="exceptionMessage">异常信息</param>
+            <param name="innerException">内部异常</param>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Exceptions.MapperExceptionBase.ValideParameter(System.String,System.Boolean[])">
+            <summary>
+            验证参数
+            </summary>
+            <param name="message">消息</param>
+            <param name="conditions">条件</param>
+            <returns>异常信息</returns>
+        </member>
+        <member name="T:Masuit.Tools.Mapping.Exceptions.MapperExistException">
+            <summary>
+            映射已存在时的异常
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Exceptions.MapperExistException.#ctor(System.Type,System.Type)">
+            <summary>
+            构造函数
+            </summary>
+            <param name="source">源类型</param>
+            <param name="dest">目标类型</param>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Exceptions.MapperExistException.#ctor">
+            <summary>
+            构造函数
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Exceptions.MapperExistException.#ctor(System.String)">
+            <summary>
+            构造函数
+            </summary>
+            <param name="exceptionMessage">异常信息</param>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Exceptions.MapperExistException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            构造函数
+            </summary>
+            <param name="serializer">序列化信息</param>
+            <param name="context">上下文</param>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Exceptions.MapperExistException.#ctor(System.String,System.Exception)">
+            <summary>
+            构造函数
+            </summary>
+            <param name="exceptionMessage">异常信息</param>
+            <param name="innerException">内部异常</param>
+        </member>
+        <member name="T:Masuit.Tools.Mapping.Exceptions.MapperNotInitializedException">
+            <summary>
+            映射未初始化时的异常
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Exceptions.MapperNotInitializedException.#ctor(System.Type,System.Type)">
+            <summary>
+            构造函数
+            </summary>
+            <param name="typeSource">源类型</param>
+            <param name="typeDest">目标类型</param>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Exceptions.MapperNotInitializedException.#ctor">
+            <summary>
+            构造函数
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Exceptions.MapperNotInitializedException.#ctor(System.String)">
+            <summary>
+            构造函数
+            </summary>
+            <param name="exceptionMessage">异常信息</param>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Exceptions.MapperNotInitializedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            构造函数
+            </summary>
+            <param name="serializer">序列化信息</param>
+            <param name="context">上下文</param>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Exceptions.MapperNotInitializedException.#ctor(System.String,System.Exception)">
+            <summary>
+            构造函数
+            </summary>
+            <param name="exceptionMessage">异常信息</param>
+            <param name="innerException">内部异常</param>
+        </member>
+        <member name="T:Masuit.Tools.Mapping.Exceptions.NoActionAfterMappingException">
+            <summary>
+            无法执行任何操作时的异常
+            </summary>
+            <seealso cref="T:Masuit.Tools.Mapping.Exceptions.MapperExceptionBase" />
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Exceptions.NoActionAfterMappingException.#ctor">
+            <summary>
+            构造函数
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Exceptions.NoActionAfterMappingException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            构造函数
+            </summary>
+            <param name="serializer">序列化信息</param>
+            <param name="context">上下文</param>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Exceptions.NoActionAfterMappingException.#ctor(System.String)">
+            <summary>
+            构造函数
+            </summary>
+            <param name="exceptionMessage">异常信息</param>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Exceptions.NoActionAfterMappingException.#ctor(System.String,System.Exception)">
+            <summary>
+            构造函数
+            </summary>
+            <param name="exceptionMessage">异常信息</param>
+            <param name="innerException">内部异常</param>
+        </member>
+        <member name="T:Masuit.Tools.Mapping.Exceptions.NoFoundMapperException">
+            <summary>
+            未找到映射关系时出现异常
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Exceptions.NoFoundMapperException.#ctor(System.Type,System.Type)">
+            <summary>
+            构造函数
+            </summary>
+            <param name="source">源类型</param>
+            <param name="dest">目标类型</param>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Exceptions.NoFoundMapperException.#ctor(System.String)">
+            <summary>
+            构造函数
+            </summary>
+            <param name="name">别名</param>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Exceptions.NoFoundMapperException.#ctor">
+            <summary>
+            构造函数
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Exceptions.NoFoundMapperException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            构造函数
+            </summary>
+            <param name="serializer">序列化信息</param>
+            <param name="context">上下文</param>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Exceptions.NoFoundMapperException.#ctor(System.String,System.Exception)">
+            <summary>
+            构造函数
+            </summary>
+            <param name="exceptionMessage">异常信息</param>
+            <param name="innerException">内部异常</param>
+        </member>
+        <member name="T:Masuit.Tools.Mapping.Exceptions.NotSameTypePropertyException">
+            <summary>
+            当属性不是同一类型或找不到映射器时出现异常
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Exceptions.NotSameTypePropertyException.#ctor(System.Type,System.Type)">
+            <summary>
+            构造函数
+            </summary>
+            <param name="typeSource">源类型</param>
+            <param name="typeDest">目标类型</param>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Exceptions.NotSameTypePropertyException.#ctor">
+            <summary>
+            构造函数
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Exceptions.NotSameTypePropertyException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            构造函数
+            </summary>
+            <param name="serializer">序列化信息</param>
+            <param name="context">上下文</param>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Exceptions.NotSameTypePropertyException.#ctor(System.String,System.Exception)">
+            <summary>
+            构造函数
+            </summary>
+            <param name="exceptionMessage">异常信息</param>
+            <param name="innerException">内部异常</param>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Exceptions.NotSameTypePropertyException.#ctor(System.String)">
+            <summary>
+            构造函数
+            </summary>
+        </member>
+        <member name="T:Masuit.Tools.Mapping.Exceptions.PropertyNoExistException">
+            <summary>
+            找不到属性时出现异常
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Exceptions.PropertyNoExistException.#ctor(System.String,System.Type)">
+            <summary>
+            构造函数
+            </summary>
+            <param name="propertyName">属性名</param>
+            <param name="typeObject">对象类型</param>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Exceptions.PropertyNoExistException.#ctor">
+            <summary>
+            构造函数
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Exceptions.PropertyNoExistException.#ctor(System.String)">
+            <summary>
+            构造函数
+            </summary>
+            <param name="exceptionMessage">异常信息</param>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Exceptions.PropertyNoExistException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            构造函数
+            </summary>
+            <param name="serializer">序列化信息</param>
+            <param name="context">上下文</param>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Exceptions.PropertyNoExistException.#ctor(System.String,System.Exception)">
+            <summary>
+            构造函数
+            </summary>
+            <param name="exceptionMessage">异常信息</param>
+            <param name="innerException">内部异常</param>
+        </member>
+        <member name="T:Masuit.Tools.Mapping.Exceptions.ReadOnlyPropertyException">
+            <summary>
+            只读属性的异常
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Exceptions.ReadOnlyPropertyException.#ctor(System.Reflection.PropertyInfo)">
+            <summary>
+            构造函数
+            </summary>
+            <param name="property">属性</param>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Exceptions.ReadOnlyPropertyException.#ctor">
+            <summary>
+            构造函数
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Exceptions.ReadOnlyPropertyException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            构造函数
+            </summary>
+            <param name="serializer">序列化信息</param>
+            <param name="context">上下文</param>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Exceptions.ReadOnlyPropertyException.#ctor(System.String,System.Exception)">
+            <summary>
+            构造函数
+            </summary>
+            <param name="exceptionMessage">异常信息</param>
+            <param name="innerException">内部异常</param>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Exceptions.ReadOnlyPropertyException.#ctor(System.String)">
+            <summary>
+            构造函数
+            </summary>
+            <param name="exceptionMessage">异常信息</param>
+        </member>
+        <member name="T:Masuit.Tools.Mapping.ExpressionCpoier">
+            <summary>
+            表达式树复制对象
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.ExpressionCpoier.Copy``1(``0)">
+            <summary>
+            复制一个新实例
+            </summary>
+            <typeparam name="T"></typeparam>
+            <param name="source"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Masuit.Tools.Mapping.ExpressionMapper">
+            <summary>
+            mapper的基类
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.ExpressionMapper.Map``2(``0,System.String)">
+            <summary>
+            映射指定的源。
+            </summary>
+            <typeparam name="TSource">源类型</typeparam>
+            <typeparam name="TDest">目标类型</typeparam>
+            <param name="source">源对象</param>
+            <param name="name">别名</param>
+            <returns>
+            目标对象的新实例
+            </returns>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.ExpressionMapper.Map``2(``0,``1,System.String)">
+            <summary>
+            将指定的源映射到目标。
+            </summary>
+            <typeparam name="TSource">源类型</typeparam>
+            <typeparam name="TDest">目标类型</typeparam>
+            <param name="source">源对象</param>
+            <param name="target">目标对象</param>
+            <param name="name">别名</param>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.ExpressionMapper.GetQueryExpression``2">
+            <summary>
+            获取查询表达式树
+            </summary>
+            <typeparam name="TSource">源类型</typeparam>
+            <typeparam name="TDest">目标类型</typeparam>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.ExpressionMapper.CreateMap``2(System.String)">
+            <summary>
+            创建mapper对象
+            </summary>
+            <typeparam name="TSource">源类型</typeparam>
+            <typeparam name="TDest">目标类型</typeparam>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.ExpressionMapper.ConstructServicesUsing(System.Func{System.Type,System.Object})">
+            <summary>
+            表示使用的依赖注入服务
+            </summary>
+            <param name="constructor">构造函数委托</param>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.ExpressionMapper.Reset">
+            <summary>
+            重置mapper
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.ExpressionMapper.GetMapper``2(System.String)">
+            <summary>
+            获取mapper实例
+            </summary>
+            <typeparam name="TSource">源类型</typeparam>
+            <typeparam name="TDest">目标类型</typeparam>
+            <param name="name">别名</param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.ExpressionMapper.Initialize">
+            <summary>
+            初始化mapper
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.ExpressionMapper.GetQuery``2">
+            <summary>
+            获取mapper的委托
+            </summary>
+            <typeparam name="TSource">源类型</typeparam>
+            <typeparam name="TDest">目标类型</typeparam>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.ExpressionMapper.GetPropertiesNotMapped``2(System.String)">
+            <summary>
+            获取未映射的属性
+            </summary>
+        </member>
+        <member name="T:Masuit.Tools.Mapping.Extensions.ExpressionExtentions">
+             <summary>
+            表达式树扩展
+             </summary>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Extensions.ExpressionExtentions.ConvertTo``1(System.Linq.Expressions.Expression{System.Func{``0,System.Object}},System.Type)">
+            <summary>
+            转换
+            </summary>
+            <typeparam name="TFrom">源类型</typeparam>
+            <param name="from">来源</param>
+            <param name="toType">目标类型</param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Extensions.ExpressionExtentions.ConvertTo``1(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Type)">
+            <summary>
+            转换
+            </summary>
+            <typeparam name="TFrom">源类型</typeparam>
+            <param name="from">来源</param>
+            <param name="toType">目标类型</param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Extensions.ExpressionExtentions.ConvertTo``2(System.Linq.Expressions.Expression{System.Func{``0,System.Object}})">
+            <summary>
+            转换Lambda表达式树
+            </summary>
+            <typeparam name="TFrom">源类型</typeparam>
+            <typeparam name="TTo">目标类型</typeparam>
+            <param name="from">来源</param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Extensions.ExpressionExtentions.ConvertTo``2(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}})">
+            <summary>
+            转换表达式树
+            </summary>
+            <typeparam name="TFrom">源类型的表达式树</typeparam>
+            <typeparam name="TTo">目标类型的表达式树</typeparam>
+            <param name="from">源类型的表达式树</param>
+            <returns>表达式转换或如果没有找到映射原始表达式。</returns>
+        </member>
+        <member name="T:Masuit.Tools.Mapping.Extensions.QueryableExtentions">
+            <summary>
+            IQueryable的扩展
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Extensions.QueryableExtentions.OrderBy``2(System.Linq.IQueryable{``0},System.String)">
+            <summary>
+            根据键按升序对序列的元素进行排序。
+            </summary>
+            <typeparam name="TSource">源类型</typeparam>
+            <typeparam name="TDest">目标类型</typeparam>
+            <param name="query">分类化的序列值</param>
+            <param name="sortedPropertyDestName">目标属性的名称</param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Extensions.QueryableExtentions.OrderByDescending``2(System.Linq.IQueryable{``0},System.String)">
+            <summary>
+            根据键按降序对序列的元素进行排序。
+            </summary>
+            <typeparam name="TSource">源类型</typeparam>
+            <typeparam name="TDest">目标类型</typeparam>
+            <param name="query">分类化的序列值</param>
+            <param name="sortedPropertyDestName">目标属性的名称</param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Extensions.QueryableExtentions.ThenBy``2(System.Linq.IQueryable{``0},System.String)">
+            <summary>
+             根据键按升序对序列的元素进行排序。
+            </summary>
+            <typeparam name="TSource">源类型</typeparam>
+            <typeparam name="TDest">目标类型</typeparam>
+            <param name="query">分类化的序列值</param>
+            <param name="sortedPropertyDestName">目标属性的名称</param>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Extensions.QueryableExtentions.ThenByDescending``2(System.Linq.IQueryable{``0},System.String)">
+            <summary>
+            根据键按降序对序列的元素进行排序。
+            </summary>
+            <typeparam name="TSource">源类型</typeparam>
+            <typeparam name="TDest">目标类型</typeparam>
+            <param name="query">分类化的序列值</param>
+            <param name="sortedPropertyDestName">目标属性的名称</param>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Extensions.QueryableExtentions.ProjectTo``2(System.Linq.IQueryable{``0})">
+            <summary>
+            通过合并目标对象将序列的每个元素投影到新表单中。
+            </summary>
+            <typeparam name="TSource">源类型.</typeparam>
+            <typeparam name="TDest">目标类型.</typeparam>
+            <param name="query">分类化的序列值</param>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Extensions.QueryableExtentions.ProjectTo``2(System.Linq.IQueryable{``0},System.String)">
+            <summary>
+            通过合并目标对象将序列的每个元素投影到新表单中。
+            </summary>
+            <typeparam name="TSource">源类型.</typeparam>
+            <typeparam name="TDest">目标类型.</typeparam>
+            <param name="query">分类化的序列值</param>
+            <param name="mapperName">mapper别名</param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Extensions.QueryableExtentions.WhereTo``2(System.Linq.IQueryable{``1},System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}})">
+            <summary>
+            根据谓词过滤一系列值。
+            </summary>
+            <typeparam name="TSource">源类型</typeparam>
+            <typeparam name="TDest">目标类型</typeparam>
+            <param name="query">分类化的序列值</param>
+            <param name="predicate">用于根据条件测试每个元素的功能。</param>
+            <returns></returns>
+        </member>
+        <member name="T:Masuit.Tools.Mapping.Helper.MapperHelper">
+            <summary>
+            mapper帮助类
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Helper.MapperHelper.GetDefaultValue(System.Type)">
+            <summary>
+            获取类型的默认值。
+            </summary>
+            <param name="typeObject">对象类型</param>
+        </member>
+        <member name="T:Masuit.Tools.Mapping.Visitor.ConverterExpressionVisitor">
+            <summary>
+            将表达式从源转换为目标的访问者表达式
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Visitor.ConverterExpressionVisitor.#ctor(System.Collections.Generic.Dictionary{System.Linq.Expressions.Expression,System.Linq.Expressions.Expression},System.Type)">
+            <summary>
+            构造函数
+            </summary>
+            <param name="parameterMap"></param>
+            <param name="typeDestination"></param>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Visitor.ConverterExpressionVisitor.VisitParameter(System.Linq.Expressions.ParameterExpression)">
+            <summary>
+            
+            </summary>
+            <param name="node">访问表达式树</param>
+            <returns>
+            改变表达式,如果它或它的任何子表达式被修改; 否则,返回原始表达式。
+            </returns>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Visitor.ConverterExpressionVisitor.Visit(System.Linq.Expressions.Expression)">
+            <summary>
+            将表达式分布在此类中更专业的访问方法之一。
+            </summary>
+            <param name="node">访问表达式树</param>
+            <returns>
+            改变表达式,如果它或它的任何子表达式被修改; 否则,返回原始表达式。
+            </returns>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Visitor.ConverterExpressionVisitor.VisitMember(System.Linq.Expressions.MemberExpression)">
+            <summary>
+            访问子表达式树
+            </summary>
+            <param name="node">访问表达式树</param>
+            <returns>
+            改变表达式,如果它或它的任何子表达式被修改; 否则,返回原始表达式。
+            </returns>
+        </member>
+        <member name="T:Masuit.Tools.Mapping.Visitor.MapperExpressionVisitor">
+            <summary>
+            mapper表达式树访问器
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Visitor.MapperExpressionVisitor.#ctor(System.Linq.Expressions.Expression)">
+            <summary>
+            构造函数
+            </summary>
+            <param name="paramClassSource"></param>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Visitor.MapperExpressionVisitor.Visit(System.Linq.Expressions.Expression,System.Boolean)">
+            <summary>
+            将表达式分布在此类中更专一的访问方法之一。
+            </summary>
+            <param name="node">访问表达式树</param>
+            <param name="checkIfNullity">检查null值</param>
+            <returns>
+            改变表达式,如果它或它的任何子表达式被修改; 否则,返回原始表达式。
+            </returns>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Visitor.MapperExpressionVisitor.VisitParameter(System.Linq.Expressions.ParameterExpression)">
+            <summary>
+            访问表达式树
+            </summary>
+            <param name="node">表达式树节点</param>
+            <returns>
+            改变表达式,如果它或它的任何子表达式被修改; 否则,返回原始表达式。
+            </returns>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Visitor.MapperExpressionVisitor.VisitMember(System.Linq.Expressions.MemberExpression)">
+            <summary>
+            访问子表达式树
+            </summary>
+            <param name="node">表达式树节点</param>
+            <returns>
+            改变表达式,如果它或它的任何子表达式被修改; 否则,返回原始表达式。
+            </returns>
+        </member>
+        <member name="M:Masuit.Tools.Mapping.Visitor.MapperExpressionVisitor.VisitUnary(System.Linq.Expressions.UnaryExpression)">
+            <summary>
+             访问子表达式树
+            </summary>
+            <param name="node">表达式树节点</param>
+            <returns>
+            改变表达式,如果它或它的任何子表达式被修改; 否则,返回原始表达式。
+            </returns>
+        </member>
+        <member name="P:Masuit.Tools.Maths.RadarChart.Data">
+            <summary>
+            向量长度集合
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Maths.RadarChart.StartAngle">
+            <summary>
+            起始弧度
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Maths.RadarChart.#ctor(System.Collections.Generic.List{System.Double},System.Double)">
+            <summary>
+            多边形
+            </summary>
+            <param name="data">向量长度集合</param>
+            <param name="startAngle">起始弧度</param>
+        </member>
+        <member name="M:Masuit.Tools.Maths.RadarChart.GetPoints">
+            <summary>
+            获取每个点的坐标
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="T:Masuit.Tools.Maths.RadarChartEngine">
+            <summary>
+            雷达图引擎
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Maths.RadarChartEngine.ComputeArea(System.Collections.Generic.List{Masuit.Tools.Maths.Point2D})">
+            <summary>
+            计算多边形面积的函数
+            (以原点为基准点,分割为多个三角形)
+            定理:任意多边形的面积可由任意一点与多边形上依次两点连线构成的三角形矢量面积求和得出。矢量面积=三角形两边矢量的叉乘。
+            </summary>
+            <param name="points"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Maths.RadarChartEngine.ComputeIntersection(Masuit.Tools.Maths.RadarChart,Masuit.Tools.Maths.RadarChart)">
+            <summary>
+            获取两个多边形的相交区域
+            </summary>
+            <param name="first">多边形1</param>
+            <param name="second">多边形2</param>
+            <returns></returns>
+        </member>
+        <member name="T:Masuit.Tools.Media.ImageUtilities">
+            <summary>
+            图片处理
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Media.ImageUtilities.CutForSquare(System.IO.Stream,System.String,System.Int32,System.Int32)">
+            <summary>
+            正方型裁剪
+            以图片中心为轴心,截取正方型,然后等比缩放
+            用于头像处理
+            </summary>
+            <param name="fromFile">原图Stream对象</param>
+            <param name="fileSaveUrl">缩略图存放地址</param>
+            <param name="side">指定的边长(正方型)</param>
+            <param name="quality">质量(范围0-100)</param>
+        </member>
+        <member name="M:Masuit.Tools.Media.ImageUtilities.CutForCustom(System.IO.Stream,System.String,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            指定长宽裁剪
+            按模版比例最大范围的裁剪图片并缩放至模版尺寸
+            </summary>
+            <param name="fromFile">原图Stream对象</param>
+            <param name="fileSaveUrl">保存路径</param>
+            <param name="maxWidth">最大宽(单位:px)</param>
+            <param name="maxHeight">最大高(单位:px)</param>
+            <param name="quality">质量(范围0-100)</param>
+        </member>
+        <member name="M:Masuit.Tools.Media.ImageUtilities.ZoomAuto(System.IO.Stream,System.String,System.Double,System.Double,System.String,System.String)">
+            <summary>
+            图片等比缩放
+            </summary>
+            <param name="fromFile">原图Stream对象</param>
+            <param name="savePath">缩略图存放地址</param>
+            <param name="targetWidth">指定的最大宽度</param>
+            <param name="targetHeight">指定的最大高度</param>
+            <param name="watermarkText">水印文字(为""表示不使用水印)</param>
+            <param name="watermarkImage">水印图片路径(为""表示不使用水印)</param>
+        </member>
+        <member name="M:Masuit.Tools.Media.ImageUtilities.IsWebImage(System.String)">
+            <summary>
+            判断文件类型是否为WEB格式图片
+            (注:JPG,GIF,BMP,PNG)
+            </summary>
+            <param name="contentType">HttpPostedFile.ContentType</param>
+            <returns>是否为WEB格式图片</returns>
+        </member>
+        <member name="M:Masuit.Tools.Media.ImageUtilities.CutImage(System.Drawing.Bitmap,System.Drawing.Rectangle)">
+            <summary>
+            裁剪图片 -- 用GDI+   
+            </summary>
+            <param name="b">原始Bitmap</param>
+            <param name="rec">裁剪区域</param>
+            <returns>剪裁后的Bitmap</returns>
+        </member>
+        <member name="M:Masuit.Tools.Media.ImageUtilities.ResizeImage(System.Drawing.Bitmap,System.Int32,System.Int32)">
+            <summary>  
+             Resize图片   
+            </summary>  
+            <param name="bmp">原始Bitmap </param>  
+            <param name="newWidth">新的宽度</param>  
+            <param name="newHeight">新的高度</param>  
+            <returns>处理以后的图片</returns>  
+        </member>
+        <member name="M:Masuit.Tools.Media.ImageUtilities.CutAndResize(System.Drawing.Bitmap,System.Drawing.Rectangle,System.Int32,System.Int32)">
+            <summary>
+            裁剪并缩放
+            </summary>
+            <param name="bmp">原始图片</param>
+            <param name="rec">裁剪的矩形区域</param>
+            <param name="newWidth">新的宽度</param>  
+            <param name="newHeight">新的高度</param>  
+            <returns>处理以后的图片</returns>
+        </member>
+        <member name="M:Masuit.Tools.Media.ImageUtilities.CompressImage(System.String,System.String,System.Int32,System.Int32,System.Boolean)">
+            <summary>
+            无损压缩图片
+            </summary>
+            <param name="sFile">原图片地址</param>
+            <param name="dFile">压缩后保存图片地址</param>
+            <param name="flag">压缩质量(数字越小压缩率越高)1-100</param>
+            <param name="size">压缩后图片的最大大小</param>
+            <param name="sfsc">是否是第一次调用</param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Media.ImageUtilities.CompressImage(System.IO.Stream,System.IO.Stream,System.Int32,System.Int32,System.Boolean)">
+            <summary>
+            无损压缩图片
+            </summary>
+            <param name="src">原图片文件流</param>
+            <param name="dest">压缩后图片文件流</param>
+            <param name="flag">压缩质量(数字越小压缩率越高)1-100</param>
+            <param name="size">压缩后图片的最大大小</param>
+            <param name="sfsc">是否是第一次调用</param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Media.ImageUtilities.MakeThumbnail(System.Drawing.Image,System.String,System.Int32,System.Int32,Masuit.Tools.Media.ThumbnailCutMode)">
+            <summary>
+            生成缩略图
+            </summary>
+            <param name="originalImage">原图</param>
+            <param name="thumbnailPath">缩略图路径(物理路径)</param>
+            <param name="width">缩略图宽度</param>
+            <param name="height">缩略图高度</param>
+            <param name="mode">生成缩略图的方式</param>    
+        </member>
+        <member name="M:Masuit.Tools.Media.ImageUtilities.LDPic(System.Drawing.Bitmap,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            调整光暗
+            </summary>
+            <param name="mybm">原始图片</param>
+            <param name="width">原始图片的长度</param>
+            <param name="height">原始图片的高度</param>
+            <param name="val">增加或减少的光暗值</param>
+        </member>
+        <member name="M:Masuit.Tools.Media.ImageUtilities.RePic(System.Drawing.Bitmap,System.Int32,System.Int32)">
+            <summary>
+            反色处理
+            </summary>
+            <param name="mybm">原始图片</param>
+            <param name="width">原始图片的长度</param>
+            <param name="height">原始图片的高度</param>
+        </member>
+        <member name="M:Masuit.Tools.Media.ImageUtilities.Relief(System.Drawing.Bitmap,System.Int32,System.Int32)">
+            <summary>
+            浮雕处理
+            </summary>
+            <param name="oldBitmap">原始图片</param>
+            <param name="width">原始图片的长度</param>
+            <param name="height">原始图片的高度</param>
+        </member>
+        <member name="M:Masuit.Tools.Media.ImageUtilities.ResizeImageAsync(System.Drawing.Bitmap,System.Int32,System.Int32)">
+            <summary>
+            拉伸图片
+            </summary>
+            <param name="bmp">原始图片</param>
+            <param name="newW">新的宽度</param>
+            <param name="newH">新的高度</param>
+        </member>
+        <member name="M:Masuit.Tools.Media.ImageUtilities.FilPic(System.Drawing.Bitmap,System.Int32,System.Int32)">
+            <summary>
+            滤色处理
+            </summary>
+            <param name="mybm">原始图片</param>
+            <param name="width">原始图片的长度</param>
+            <param name="height">原始图片的高度</param>
+        </member>
+        <member name="M:Masuit.Tools.Media.ImageUtilities.RevPicLR(System.Drawing.Bitmap,System.Int32,System.Int32)">
+            <summary>
+            左右翻转
+            </summary>
+            <param name="mybm">原始图片</param>
+            <param name="width">原始图片的长度</param>
+            <param name="height">原始图片的高度</param>
+        </member>
+        <member name="M:Masuit.Tools.Media.ImageUtilities.RevPicUD(System.Drawing.Bitmap,System.Int32,System.Int32)">
+            <summary>
+            上下翻转
+            </summary>
+            <param name="mybm">原始图片</param>
+            <param name="width">原始图片的长度</param>
+            <param name="height">原始图片的高度</param>
+        </member>
+        <member name="M:Masuit.Tools.Media.ImageUtilities.Compress(System.Drawing.Image,System.String)">
+            <summary>
+            压缩到指定尺寸
+            </summary>
+            <param name="img"></param>
+            <param name="newfile">新文件</param>
+        </member>
+        <member name="M:Masuit.Tools.Media.ImageUtilities.Gray(System.Drawing.Color)">
+            <summary>
+            图片灰度化
+            </summary>
+            <param name="c">输入颜色</param>
+            <returns>输出颜色</returns>
+        </member>
+        <member name="M:Masuit.Tools.Media.ImageUtilities.BWPic(System.Drawing.Bitmap,System.Int32,System.Int32)">
+            <summary>
+            转换为黑白图片
+            </summary>
+            <param name="mybm">要进行处理的图片</param>
+            <param name="width">图片的长度</param>
+            <param name="height">图片的高度</param>
+        </member>
+        <member name="M:Masuit.Tools.Media.ImageUtilities.GetFrames(System.Drawing.Image,System.String)">
+            <summary>
+            获取图片中的各帧
+            </summary>
+            <param name="gif">源gif</param>
+            <param name="pSavedPath">保存路径</param>
+        </member>
+        <member name="M:Masuit.Tools.Media.ImageUtilities.SaveDataUriAsImageFile(System.String)">
+            <summary>
+            将dataUri保存为图片
+            </summary>
+            <param name="source">dataUri数据源</param>
+            <returns></returns>
+            <exception cref="T:System.Exception">操作失败。</exception>
+        </member>
+        <member name="P:Masuit.Tools.Media.ImageWatermarker.SkipWatermarkForSmallImages">
+            <summary>
+            是否跳过小缩略图
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Media.ImageWatermarker.SmallImagePixelsThreshold">
+            <summary>
+            小图像素大小
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Media.ImageWatermarker.AddWatermark(System.String,System.Drawing.Color,Masuit.Tools.Media.WatermarkPosition,System.Int32,System.Int32,System.Drawing.Font,System.Boolean)">
+            <summary>
+            添加水印
+            </summary>
+            <param name="watermarkText">水印文字</param>
+            <param name="color">水印颜色</param>
+            <param name="watermarkPosition">水印位置</param>
+            <param name="textPadding">边距</param>
+            <param name="fontSize">字体大小</param>
+            <param name="font">字体</param>
+            <param name="textAntiAlias">不提示的情况下使用抗锯齿标志符号位图来绘制每个字符。
+               由于抗锯齿质量就越好。
+               因为关闭了提示,词干宽度之间的差异可能非常明显。</param>
+            <returns></returns>
+        </member>
+        <member name="T:Masuit.Tools.Media.ThumbnailCutMode">
+            <summary>
+            图像裁剪模式
+            </summary>
+        </member>
+        <member name="F:Masuit.Tools.Media.ThumbnailCutMode.LockHeight">
+            <summary>
+            锁定高度
+            </summary>
+        </member>
+        <member name="F:Masuit.Tools.Media.ThumbnailCutMode.LockWidth">
+            <summary>
+            锁定宽度
+            </summary>
+        </member>
+        <member name="F:Masuit.Tools.Media.ThumbnailCutMode.Fixed">
+            <summary>
+            固定宽高
+            </summary>
+        </member>
+        <member name="F:Masuit.Tools.Media.ThumbnailCutMode.Cut">
+            <summary>
+            裁剪
+            </summary>
+        </member>
+        <member name="T:Masuit.Tools.Models.AddressComponent">
+            <summary>
+            地理信息成分
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Models.AddressComponent.Country">
+            <summary>
+            国家
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Models.AddressComponent.CountryCode">
+            <summary>
+            国家代码
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Models.AddressComponent.Province">
+            <summary>
+            省
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Models.AddressComponent.City">
+            <summary>
+            市
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Models.AddressComponent.District">
+            <summary>
+            区
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Models.AddressComponent.Street">
+            <summary>
+            街道
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Models.AddressComponent.StreetNumber">
+            <summary>
+            门牌号
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Models.AddressComponent.Direction">
+            <summary>
+            方位
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Models.AddressComponent.Distance">
+            <summary>
+            距离
+            </summary>
+        </member>
+        <member name="T:Masuit.Tools.Models.AddressResult">
+            <summary>
+            返回结果集
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Models.AddressResult.Location">
+            <summary>
+            经纬度
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Models.AddressResult.FormattedAddress">
+            <summary>
+            详细地址
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Models.AddressResult.Business">
+            <summary>
+            商业地址
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Models.AddressResult.AddressComponent">
+            <summary>
+            地理信息成分
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Models.AddressResult.Pois">
+            <summary>
+            参考地址
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Models.AddressResult.SematicDescription">
+            <summary>
+            语义描述
+            </summary>
+        </member>
+        <member name="T:Masuit.Tools.Models.AsposeLicense">
+            <summary>
+            Aspose内存补丁
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Models.AsposeLicense.ActivateMemoryPatching">
+            <summary>
+            启动Aspose的内存破解
+            </summary>
+        </member>
+        <member name="T:Masuit.Tools.Models.BaiduIP">
+            <summary>
+            百度IP接口的信息
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Models.BaiduIP.Address">
+            <summary>
+            基本信息
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Models.BaiduIP.AddressInfo">
+            <summary>
+            基本地理信息
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Models.BaiduIP.Status">
+            <summary>
+            返回状态,0正常,1出错
+            </summary>
+        </member>
+        <member name="T:Masuit.Tools.Models.AddressInfo">
+            <summary>
+            基本地理信息
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Models.AddressInfo.Address">
+            <summary>
+            基本地址
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Models.AddressInfo.LatiLongitude">
+            <summary>
+            经纬度
+            </summary>
+        </member>
+        <member name="T:Masuit.Tools.Models.LatiLongitude">
+            <summary>
+            经纬度
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Models.LatiLongitude.X">
+            <summary>
+            经度
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Models.LatiLongitude.Y">
+            <summary>
+            纬度
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Models.Email.Username">
+            <summary>
+            发件人用户名
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Models.Email.Password">
+            <summary>
+            发件人邮箱密码
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Models.Email.SmtpPort">
+            <summary>
+            发送服务器端口号,默认25
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Models.Email.SmtpServer">
+            <summary>
+            发送服务器地址
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Models.Email.Subject">
+            <summary>
+            邮件标题
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Models.Email.Body">
+            <summary>
+            邮件正文
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Models.Email.Tos">
+            <summary>
+            收件人,多个收件人用英文逗号隔开
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Models.Email.EnableSsl">
+            <summary>
+            是否启用SSL,默认已启用
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Models.Email.GetClient">
+            <summary>
+            邮件消息对象
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Models.Email.SendAsync(System.Action{System.String})">
+            <summary>
+            使用异步发送邮件
+            </summary>
+            <param name="completedCallback">邮件发送后的回调方法</param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Models.Email.Send">
+            <summary>
+            使用同步发送邮件
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Models.Email.SendCompletedCallback(System.Object,System.ComponentModel.AsyncCompletedEventArgs)">
+            <summary>
+            异步操作完成后执行回调方法
+            </summary>
+            <param name="sender"></param>
+            <param name="e"></param>
+        </member>
+        <member name="T:Masuit.Tools.Models.IspInfo">
+            <summary>
+            ISP信息
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Models.IspInfo.ISPName">
+            <summary>
+            运营商
+            </summary>
+        </member>
+        <member name="T:Masuit.Tools.Models.Location">
+            <summary>
+            经纬度
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Models.Location.Lng">
+            <summary>
+            经度
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Models.Location.Lat">
+            <summary>
+            纬度
+            </summary>
+        </member>
+        <member name="T:Masuit.Tools.Models.PagedList`1">
+            <summary>
+            分页集合
+            </summary>
+            <typeparam name="T"></typeparam>
+        </member>
+        <member name="P:Masuit.Tools.Models.PagedList`1.Data">
+            <summary>
+            数据集
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Models.PagedList`1.CurrentPage">
+            <summary>
+            当前页
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Models.PagedList`1.TotalPages">
+            <summary>
+            总页数
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Models.PagedList`1.PageSize">
+            <summary>
+            页大小
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Models.PagedList`1.TotalCount">
+            <summary>
+            总条数
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Models.PagedList`1.CurrentCount">
+            <summary>
+            当前页数据条数
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Models.PagedList`1.HasPrev">
+            <summary>
+            是否有前一页
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Models.PagedList`1.HasNext">
+            <summary>
+            是否有后一页
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Models.PagedList`1.#ctor(System.Collections.Generic.List{`0},System.Int32,System.Int32,System.Int32)">
+            <summary>
+            分页数据
+            </summary>
+            <param name="items">数据集</param>
+            <param name="page">当前页</param>
+            <param name="size">页大小</param>
+            <param name="count">总条数</param>
+        </member>
+        <member name="M:Masuit.Tools.Models.IQueryableExt.ToPagedList``1(System.Linq.IOrderedQueryable{``0},System.Int32,System.Int32)">
+            <summary>
+            生成分页集合
+            </summary>
+            <typeparam name="T"></typeparam>
+            <param name="query"></param>
+            <param name="page">当前页</param>
+            <param name="size">页大小</param>
+            <returns></returns>
+        </member>
+        <member name="T:Masuit.Tools.Models.PhysicsAddress">
+            <summary>
+            详细地理信息
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Models.PhysicsAddress.Status">
+            <summary>
+            返回状态,0正常,1出错
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Models.PhysicsAddress.AddressResult">
+            <summary>
+            返回结果集
+            </summary>
+        </member>
+        <member name="T:Masuit.Tools.Models.Pois">
+            <summary>
+            参考位置
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Models.Pois.AddressDetail">
+            <summary>
+            地理位置详细
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Models.Pois.Direction">
+            <summary>
+            方位
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Models.Pois.Distance">
+            <summary>
+            距离
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Models.Pois.Name">
+            <summary>
+            建筑物名字
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Models.Pois.PoiType">
+            <summary>
+            建筑物类型
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Models.Pois.Point">
+            <summary>
+            经纬度
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Models.Pois.Tag">
+            <summary>
+            标签
+            </summary>
+        </member>
+        <member name="T:Masuit.Tools.Models.TaobaoIP">
+            <summary>
+            淘宝IP接口信息
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Models.TaobaoIP.Code">
+            <summary>
+            返回状态码
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Models.TaobaoIP.IpData">
+            <summary>
+            数据
+            </summary>
+        </member>
+        <member name="T:Masuit.Tools.Models.IPData">
+            <summary>
+            淘宝IP接口信息
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Models.IPData.Country">
+            <summary>
+            国家
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Models.IPData.Region">
+            <summary>
+            省
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Models.IPData.City">
+            <summary>
+            市
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Models.IPData.Isp">
+            <summary>
+            ISP
+            </summary>
+        </member>
+        <member name="T:Masuit.Tools.Net.FtpClient">
+            <summary>
+            FTP客户端操作类
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Net.FtpClient.FtpServer">
+            <summary>
+            Ftp服务器ip
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Net.FtpClient.Username">
+            <summary>
+            Ftp 指定用户名
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Net.FtpClient.Password">
+            <summary>
+            Ftp 指定用户密码
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Net.FtpClient.GetAnonymousClient(System.String)">
+            <summary>
+            获取一个匿名登录的ftp客户端
+            </summary>
+            <param name="serverIp">服务器IP地址</param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Net.FtpClient.GetClient(System.String,System.String,System.String)">
+            <summary>
+            获取一个匿名登录的ftp客户端
+            </summary>
+            <param name="serverIp">服务器ip</param>
+            <param name="username">用户名</param>
+            <param name="password">密码</param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Net.FtpClient.Download(System.String,System.String,System.Boolean,System.Action{System.Int32,System.Int32})">
+            <summary>
+            从FTP服务器下载文件,指定本地路径和本地文件名
+            </summary>
+            <param name="remoteFileName">远程文件名</param>
+            <param name="localFileName">保存本地的文件名(包含路径)</param>
+            <param name="ifCredential">是否启用身份验证(false:表示允许用户匿名下载)</param>
+            <param name="updateProgress">报告进度的处理(第一个参数:总大小,第二个参数:当前进度)</param>
+        </member>
+        <member name="M:Masuit.Tools.Net.FtpClient.BrokenDownload(System.String,System.String,System.Boolean,System.Int64,System.Action{System.Int32,System.Int32})">
+            <summary>
+            从FTP服务器下载文件,指定本地路径和本地文件名(支持断点下载)
+            </summary>
+            <param name="remoteFileName">远程文件名</param>
+            <param name="localFileName">保存本地的文件名(包含路径)</param>
+            <param name="ifCredential">是否启用身份验证(false:表示允许用户匿名下载)</param>
+            <param name="size">已下载文件流大小</param>
+            <param name="updateProgress">报告进度的处理(第一个参数:总大小,第二个参数:当前进度)</param>
+        </member>
+        <member name="M:Masuit.Tools.Net.FtpClient.Download(System.String,System.String,System.Boolean,System.Boolean,System.Action{System.Int32,System.Int32})">
+            <summary>
+            从FTP服务器下载文件,指定本地路径和本地文件名
+            </summary>
+            <param name="remoteFileName">远程文件名</param>
+            <param name="localFileName">保存本地的文件名(包含路径)</param>
+            <param name="ifCredential">是否启用身份验证(false:表示允许用户匿名下载)</param>
+            <param name="updateProgress">报告进度的处理(第一个参数:总大小,第二个参数:当前进度)</param>
+            <param name="brokenOpen">是否断点下载:true 会在localFileName 找是否存在已经下载的文件,并计算文件流大小</param>
+        </member>
+        <member name="M:Masuit.Tools.Net.FtpClient.UploadFile(System.String,System.String,System.Action{System.Int32,System.Int32})">
+            <summary>
+            上传文件到FTP服务器
+            </summary>
+            <param name="relativePath">相对目录</param>
+            <param name="localFullPathName">本地带有完整路径的文件名</param>
+            <param name="updateProgress">报告进度的处理(第一个参数:总大小,第二个参数:当前进度)</param>
+        </member>
+        <member name="M:Masuit.Tools.Net.FtpClient.UploadBroken(System.String,System.String,System.Action{System.Int32,System.Int32})">
+            <summary>
+            上传文件到FTP服务器(断点续传)
+            </summary>
+            <param name="localFullPath">本地文件全路径名称:C:\Users\JianKunKing\Desktop\IronPython脚本测试工具</param>
+            <param name="remoteFilepath">远程文件所在文件夹路径</param>
+            <param name="updateProgress">报告进度的处理(第一个参数:总大小,第二个参数:当前进度)</param>
+            <returns></returns> 
+        </member>
+        <member name="M:Masuit.Tools.Net.FtpClient.RemoveSpaces(System.String)">
+            <summary>
+            去除空格
+            </summary>
+            <param name="str"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Net.FtpClient.GetFileSize(System.String,System.String)">
+            <summary>
+            获取已上传文件大小
+            </summary>
+            <param name="filePath">文件名称</param>
+            <param name="remoteFilepath">服务器文件路径</param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Net.FtpClient.GetFilesDetails(System.String)">
+            <summary>
+            获取当前目录下明细(包含文件和文件夹)
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Net.FtpClient.GetFiles(System.String,System.String)">
+            <summary>
+            获取当前目录下文件列表(仅文件)
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Net.FtpClient.GetDirectories(System.String)">
+            <summary>
+            获取当前目录下所有的文件夹列表(仅文件夹)
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Net.FtpClient.Delete(System.String)">
+            <summary>
+            删除文件
+            </summary>
+            <param name="filePath"></param>
+        </member>
+        <member name="M:Masuit.Tools.Net.FtpClient.RemoveDirectory(System.String)">
+            <summary>
+            删除文件夹
+            </summary>
+            <param name="dirPath"></param>
+        </member>
+        <member name="M:Masuit.Tools.Net.FtpClient.GetFileSize(System.String)">
+            <summary>
+            获取指定文件大小
+            </summary>
+            <param name="filePath"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Net.FtpClient.DirectoryExist(System.String)">
+            <summary>
+            判断当前目录下指定的子目录是否存在
+            </summary>
+            <param name="remoteDirPath">指定的目录名</param>
+        </member>
+        <member name="M:Masuit.Tools.Net.FtpClient.FileExist(System.String)">
+            <summary>
+            判断当前目录下指定的文件是否存在
+            </summary>
+            <param name="remoteFileName">远程文件名</param>
+        </member>
+        <member name="M:Masuit.Tools.Net.FtpClient.MakeDir(System.String,System.String)">
+            <summary>
+            创建文件夹
+            </summary>
+            <param name="relativePath">路径</param>
+            <param name="newDir">新建文件夹</param>
+        </member>
+        <member name="M:Masuit.Tools.Net.FtpClient.Rename(System.String,System.String,System.String)">
+            <summary>
+            改名
+            </summary>
+            <param name="relativePath">相对路径</param>
+            <param name="currentFilename"></param>
+            <param name="newFilename"></param>
+        </member>
+        <member name="M:Masuit.Tools.Net.FtpClient.MoveFile(System.String,System.String,System.String)">
+            <summary>
+            移动文件
+            </summary>
+            <param name="relativePath">相对路径</param>
+            <param name="currentFilename"></param>
+            <param name="newDirectory"></param>
+        </member>
+        <member name="T:Masuit.Tools.Net.FileMergeProgressChangedEventHandler">
+            <summary>
+            文件合并改变事件
+            </summary>
+            <param name="sender"></param>
+            <param name="e"></param>
+        </member>
+        <member name="T:Masuit.Tools.Net.MultiThreadDownloader">
+            <summary>
+            多线程下载器
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Net.MultiThreadDownloader.RangeAllowed">
+            <summary>
+            RangeAllowed
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Net.MultiThreadDownloader.TempFileDirectory">
+            <summary>
+            临时文件夹
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Net.MultiThreadDownloader.Url">
+            <summary>
+            url地址
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Net.MultiThreadDownloader.NumberOfParts">
+            <summary>
+            第几部分
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Net.MultiThreadDownloader.TotalBytesReceived">
+            <summary>
+            已接收字节数
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Net.MultiThreadDownloader.TotalProgress">
+            <summary>
+            总进度
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Net.MultiThreadDownloader.Size">
+            <summary>
+            文件大小
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Net.MultiThreadDownloader.TotalSpeedInBytes">
+            <summary>
+            下载速度
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Net.MultiThreadDownloader.PartialDownloaderList">
+            <summary>
+            下载块
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Net.MultiThreadDownloader.FilePath">
+            <summary>
+            文件路径
+            </summary>
+        </member>
+        <member name="E:Masuit.Tools.Net.MultiThreadDownloader.TotalProgressChanged">
+            <summary>
+            总下载进度更新事件
+            </summary>
+        </member>
+        <member name="E:Masuit.Tools.Net.MultiThreadDownloader.FileMergeProgressChanged">
+            <summary>
+            文件合并事件
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Net.MultiThreadDownloader.#ctor(System.String,System.String,System.String,System.Int32)">
+            <summary>
+            多线程下载管理器
+            </summary>
+            <param name="sourceUrl"></param>
+            <param name="tempDir"></param>
+            <param name="savePath"></param>
+            <param name="numOfParts"></param>
+        </member>
+        <member name="M:Masuit.Tools.Net.MultiThreadDownloader.#ctor(System.String,System.String,System.Int32)">
+            <summary>
+            多线程下载管理器
+            </summary>
+            <param name="sourceUrl"></param>
+            <param name="savePath"></param>
+            <param name="numOfParts"></param>
+        </member>
+        <member name="M:Masuit.Tools.Net.MultiThreadDownloader.#ctor(System.String,System.Int32)">
+            <summary>
+            多线程下载管理器
+            </summary>
+            <param name="sourceUrl"></param>
+            <param name="numOfParts"></param>
+        </member>
+        <member name="M:Masuit.Tools.Net.MultiThreadDownloader.WaitOrResumeAll(System.Collections.Generic.List{Masuit.Tools.Net.PartialDownloader},System.Boolean)">
+            <summary>
+            暂停或继续
+            </summary>
+            <param name="list"></param>
+            <param name="wait"></param>
+        </member>
+        <member name="M:Masuit.Tools.Net.MultiThreadDownloader.BubbleSort(System.Collections.Generic.List{Masuit.Tools.Net.PartialDownloader})">
+            <summary>
+            冒泡排序
+            </summary>
+            <param name="list"></param>
+        </member>
+        <member name="M:Masuit.Tools.Net.MultiThreadDownloader.SortPDsByFrom(System.Collections.Generic.List{Masuit.Tools.Net.PartialDownloader})">
+            <summary>
+            Sorts the downloader by From property to merge the parts
+            </summary>
+            <param name="list"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Net.MultiThreadDownloader.OrderByRemaining(System.Collections.Generic.List{Masuit.Tools.Net.PartialDownloader})">
+            <summary>
+            按剩余时间排序
+            </summary>
+            <param name="list"></param>
+        </member>
+        <member name="M:Masuit.Tools.Net.MultiThreadDownloader.Configure(System.Action{System.Net.HttpWebRequest})">
+            <summary>
+            配置请求头
+            </summary>
+            <param name="config"></param>
+        </member>
+        <member name="M:Masuit.Tools.Net.MultiThreadDownloader.GetContentLength(System.Boolean@,System.String@)">
+            <summary>
+            获取内容长度
+            </summary>
+            <param name="rangeAllowed"></param>
+            <param name="redirectedUrl"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Net.MultiThreadDownloader.Pause">
+            <summary>
+            暂停下载
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Net.MultiThreadDownloader.Start">
+            <summary>
+            开始下载
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Net.MultiThreadDownloader.Resume">
+            <summary>
+            唤醒下载
+            </summary>
+        </member>
+        <member name="T:Masuit.Tools.Net.PartialDownloader">
+            <summary>
+            部分下载器
+            </summary>
+        </member>
+        <member name="E:Masuit.Tools.Net.PartialDownloader.DownloadPartCompleted">
+            <summary>
+            这部分完成事件
+            </summary>
+        </member>
+        <member name="E:Masuit.Tools.Net.PartialDownloader.DownloadPartProgressChanged">
+            <summary>
+            部分下载进度改变事件
+            </summary>
+        </member>
+        <member name="E:Masuit.Tools.Net.PartialDownloader.DownloadPartStopped">
+            <summary>
+            部分下载停止事件
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Net.PartialDownloader.Stopped">
+            <summary>
+            下载已停止
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Net.PartialDownloader.Completed">
+            <summary>
+            下载已完成
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Net.PartialDownloader.Progress">
+            <summary>
+            下载进度
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Net.PartialDownloader.Directory">
+            <summary>
+            下载目录
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Net.PartialDownloader.FileName">
+            <summary>
+            文件名
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Net.PartialDownloader.TotalBytesRead">
+            <summary>
+            已读字节数
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Net.PartialDownloader.ContentLength">
+            <summary>
+            内容长度
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Net.PartialDownloader.RangeAllowed">
+            <summary>
+            RangeAllowed
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Net.PartialDownloader.Url">
+            <summary>
+            url
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Net.PartialDownloader.To">
+            <summary>
+            to
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Net.PartialDownloader.From">
+            <summary>
+            from
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Net.PartialDownloader.CurrentPosition">
+            <summary>
+            当前位置
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Net.PartialDownloader.RemainingBytes">
+            <summary>
+            剩余字节数
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Net.PartialDownloader.FullPath">
+            <summary>
+            完整路径
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Net.PartialDownloader.SpeedInBytes">
+            <summary>
+            下载速度
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Net.PartialDownloader.#ctor(System.String,System.String,System.String,System.Int32,System.Int32,System.Boolean)">
+            <summary>
+            部分块下载
+            </summary>
+            <param name="url"></param>
+            <param name="dir"></param>
+            <param name="fileGuid"></param>
+            <param name="from"></param>
+            <param name="to"></param>
+            <param name="rangeAllowed"></param>
+        </member>
+        <member name="M:Masuit.Tools.Net.PartialDownloader.Start(System.Action{System.Net.HttpWebRequest})">
+            <summary>
+            启动下载
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Net.PartialDownloader.Stop">
+            <summary>
+            下载停止
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Net.PartialDownloader.Wait">
+            <summary>
+            暂停等待下载
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Net.PartialDownloader.ResumeAfterWait">
+            <summary>
+            稍后唤醒
+            </summary>
+        </member>
+        <member name="T:Masuit.Tools.Net.SocketClient">
+            <summary>
+            Socket客户端操作类
+            </summary>
+        </member>
+        <member name="F:Masuit.Tools.Net.SocketClient.m_maxpacket">
+            <summary>
+            设置数据缓冲区大小 默认1024
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Net.SocketClient.ListenerSocket(System.Net.Sockets.TcpListener)">
+            <summary>
+            服务器侦听方法 返回null则说明没有链接上
+            </summary>
+            <returns>返回一个套接字(Socket)</returns>
+        </member>
+        <member name="M:Masuit.Tools.Net.SocketClient.ListenerStream(System.Net.Sockets.TcpListener)">
+            <summary>
+            服务器侦听方法 返回null则说明没有链接上
+            </summary>
+            <param name="listener">TCP监听对象</param>
+            <returns>返回一个网络流</returns>
+        </member>
+        <member name="M:Masuit.Tools.Net.SocketClient.ConnectSocket(System.Net.Sockets.TcpClient,System.Net.IPEndPoint)">
+            <summary>
+            从客户端连接获取socket对象
+            </summary>
+            <param name="tcpclient">TCP客户端</param>
+            <param name="ipendpoint">客户端节点</param>
+            <returns>客户端socket</returns>
+        </member>
+        <member name="M:Masuit.Tools.Net.SocketClient.ConnectSocket(System.Net.Sockets.TcpClient,System.Net.IPAddress,System.Int32)">
+            <summary>
+            从客户端连接获取socket对象
+            </summary>
+            <param name="tcpclient">TCP客户端</param>
+            <param name="ipadd">IP地址</param>
+            <param name="port">端口号</param>
+            <returns>客户端socket</returns>
+        </member>
+        <member name="M:Masuit.Tools.Net.SocketClient.ConnectStream(System.Net.Sockets.TcpClient,System.Net.IPEndPoint)">
+            <summary>
+            从客户端获取网络流对象
+            </summary>
+            <param name="tcpclient">TCP客户端</param>
+            <param name="ipendpoint">客户端节点</param>
+            <returns>客户端的网络流</returns>
+        </member>
+        <member name="M:Masuit.Tools.Net.SocketClient.ConnectStream(System.Net.Sockets.TcpClient,System.Net.IPAddress,System.Int32)">
+            <summary>
+            从客户端获取网络流对象
+            </summary>
+            <param name="tcpclient">TCP客户端</param>
+            <param name="ipadd">IP地址</param>
+            <param name="port">端口号</param>
+            <returns>客户端网络流对象</returns>
+        </member>
+        <member name="M:Masuit.Tools.Net.SocketClient.ReceiveFixData(System.Net.Sockets.Socket,System.Int32)">
+            <summary>
+            接受固定长度字符串
+            </summary>
+            <param name="socket">socket对象</param>
+            <param name="size">字符串长度</param>
+            <returns>字节数据</returns>
+        </member>
+        <member name="M:Masuit.Tools.Net.SocketClient.ReceiveVarData(System.Net.Sockets.Socket)">
+            <summary>
+            接收变长字符串
+            为了处理粘包问题 ,每次发送数据时 包头(数据字节长度) + 正文
+            这个发送小数据
+            设置包头的字节为8,不能超过8位数的字节数组
+            </summary>
+            <param name="socket">客户端socket</param>
+            <returns>byte[]数组</returns>
+        </member>
+        <member name="M:Masuit.Tools.Net.SocketClient.ReceiveVarData``1(System.Net.Sockets.Socket)">
+            <summary>
+            接收T类对象,反序列化
+            </summary>
+            <typeparam name="T">接收T类对象,T类必须是一个可序列化类</typeparam>
+            <param name="socket">客户端socket</param>
+            <returns>强类型对象</returns>
+        </member>
+        <member name="M:Masuit.Tools.Net.SocketClient.ReceiveFile(System.Net.Sockets.Socket,System.String,System.String,System.Int64,System.Action{System.Int32})">
+            <summary>
+            在预先得到文件的文件名和大小
+            调用此方法接收文件
+            </summary>
+            <param name="socket">socket服务端</param>
+            <param name="path">路径必须存在</param>
+            <param name="filename">文件名</param>
+            <param name="size">预先知道的文件大小</param>
+            <param name="progress">处理过程</param>
+        </member>
+        <member name="M:Masuit.Tools.Net.SocketClient.ReceiveFile(System.Net.Sockets.Socket,System.String,System.String,System.Int64)">
+            <summary>
+            从socket服务端接收文件
+            </summary>
+            <param name="socket">socket服务端</param>
+            <param name="path">文件保存路径(必须存在)</param>
+            <param name="filename">文件名</param>
+            <param name="size">预先知道的文件大小</param>
+            <returns>处理结果</returns>
+        </member>
+        <member name="M:Masuit.Tools.Net.SocketClient.ReceiveFile(System.Net.Sockets.Socket,System.String)">
+            <summary>
+            预先不知道文件名和文件大小 用此方法接收
+            此方法对于的发送方法是SendFile()
+            </summary>
+            <param name="socket">socket服务端</param>
+            <param name="path">要保存的目录</param>
+        </member>
+        <member name="M:Masuit.Tools.Net.SocketClient.GetPath(System.String,System.String)">
+            <summary>
+            得到文件路径(防止有文件名重复)
+             如:aaa.txt已经在directory目录下存在,则会得到文件aaa(1).txt
+            </summary>
+            <param name="directory">目录名</param>
+            <param name="file">文件名</param>
+            <returns>文件路径</returns>
+        </member>
+        <member name="M:Masuit.Tools.Net.SocketClient.SendFixData(System.Net.Sockets.Socket,System.Byte[])">
+            <summary>
+            发送固定长度消息
+            发送字节数不能大于int型最大值
+            </summary>
+            <param name="socket">源socket</param>
+            <param name="msg">消息的字节数组</param>
+            <returns>返回发送字节个数</returns>
+        </member>
+        <member name="M:Masuit.Tools.Net.SocketClient.SendVarData(System.Net.Sockets.Socket,System.String)">
+            <summary>
+            发送变长信息 格式 包头(包头占8位) + 正文
+            </summary>
+            <param name="socket">发送方socket对象</param>
+            <param name="contact">发送文本</param>
+            <returns>发送的数据内容长度</returns>
+        </member>
+        <member name="M:Masuit.Tools.Net.SocketClient.SendVarData(System.Net.Sockets.Socket,System.Byte[])">
+            <summary>
+            发送变成信息
+            </summary>
+            <param name="socket">发送方socket对象</param>
+            <param name="bytes">消息的 字节数组</param>
+            <returns>消息长度</returns>
+        </member>
+        <member name="M:Masuit.Tools.Net.SocketClient.SendSerializeObject``1(System.Net.Sockets.Socket,``0)">
+            <summary>
+            发送T类型对象,序列化
+            </summary>
+            <typeparam name="T">T类型</typeparam>
+            <param name="socket">发送方的socket对象</param>
+            <param name="obj">T类型对象,必须是可序列化的</param>
+            <returns>消息长度</returns>
+        </member>
+        <member name="M:Masuit.Tools.Net.SocketClient.SendFile(System.Net.Sockets.Socket,System.String,System.Boolean,System.Action{System.Int32})">
+            <summary>
+            发送文件
+            </summary>
+            <param name="socket">socket对象</param>
+            <param name="path">文件路径</param>
+            <param name="issend">是否发送文件(头)信息,如果当前知道文件[大小,名称]则为false</param>
+            <param name="progress">处理过程</param>
+            <returns>处理结果</returns>
+        </member>
+        <member name="M:Masuit.Tools.Net.SocketClient.SendFile(System.Net.Sockets.Socket,System.String,System.Boolean)">
+            <summary>
+            发送文件,不需要进度信息
+            </summary>
+            <param name="socket">socket对象</param>
+            <param name="path">文件路径</param>
+            <param name="issend">是否发生(头)信息</param>
+            <returns>处理结果</returns>
+        </member>
+        <member name="M:Masuit.Tools.Net.SocketClient.SendFile(System.Net.Sockets.Socket,System.String)">
+            <summary>
+            发送文件,不需要进度信息和(头)信息
+            </summary>
+            <param name="socket">socket对象</param>
+            <param name="path">文件路径</param>
+            <returns>处理结果</returns>
+        </member>
+        <member name="T:Masuit.Tools.RandomSelector.MultipleSelector`1">
+            <summary>
+            多选器
+            </summary>
+            <typeparam name="T"></typeparam>
+        </member>
+        <member name="M:Masuit.Tools.RandomSelector.SelectorBase`1.BinarySelect(System.Collections.Generic.List{Masuit.Tools.RandomSelector.WeightedItem{`0}})">
+            <summary>
+            执行二进制筛选
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.RandomSelector.SelectorBase`1.LinearSelect(System.Collections.Generic.List{Masuit.Tools.RandomSelector.WeightedItem{`0}})">
+            <summary>
+            线性筛选
+            </summary>
+            <param name="items"></param>
+            <returns></returns>
+        </member>
+        <member name="P:Masuit.Tools.RandomSelector.SelectorOption.AllowDuplicate">
+            <summary>
+            多选时允许重复项
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.RandomSelector.SelectorOption.RemoveZeroWeightItems">
+            <summary>
+            是否移除权重0的元素
+            </summary>
+        </member>
+        <member name="T:Masuit.Tools.RandomSelector.SingleSelector`1">
+            <summary>
+            单选器
+            </summary>
+            <typeparam name="T"></typeparam>
+        </member>
+        <member name="F:Masuit.Tools.RandomSelector.WeightedItem`1.Weight">
+            <summary>
+            权重
+            </summary>
+        </member>
+        <member name="F:Masuit.Tools.RandomSelector.WeightedItem`1.Value">
+            <summary>
+            元素
+            </summary>
+        </member>
+        <member name="F:Masuit.Tools.RandomSelector.WeightedItem`1.CumulativeWeight">
+            <summary>
+            累计权重
+            </summary>
+        </member>
+        <member name="T:Masuit.Tools.RandomSelector.WeightedSelector`1">
+            <summary>
+            权重筛选器
+            </summary>
+            <typeparam name="T"></typeparam>
+        </member>
+        <member name="F:Masuit.Tools.RandomSelector.WeightedSelector`1.CumulativeWeights">
+            <summary>
+            累计权重集
+            </summary>
+        </member>
+        <member name="F:Masuit.Tools.RandomSelector.WeightedSelector`1._isAddedCumulativeWeights">
+            <summary>
+            是否是已经添加过的权重值
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.RandomSelector.WeightedSelector`1.Add(Masuit.Tools.RandomSelector.WeightedItem{`0})">
+            <summary>
+            添加元素
+            </summary>
+            <param name="item"></param>
+        </member>
+        <member name="M:Masuit.Tools.RandomSelector.WeightedSelector`1.Add(System.Collections.Generic.IEnumerable{Masuit.Tools.RandomSelector.WeightedItem{`0}})">
+            <summary>
+            批量添加元素
+            </summary>
+            <param name="items"></param>
+        </member>
+        <member name="M:Masuit.Tools.RandomSelector.WeightedSelector`1.Add(`0,System.Int32)">
+            <summary>
+            添加元素
+            </summary>
+            <param name="item"></param>
+            <param name="weight"></param>
+        </member>
+        <member name="M:Masuit.Tools.RandomSelector.WeightedSelector`1.Remove(Masuit.Tools.RandomSelector.WeightedItem{`0})">
+            <summary>
+            移除元素
+            </summary>
+            <param name="item"></param>
+        </member>
+        <member name="M:Masuit.Tools.RandomSelector.WeightedSelector`1.Select">
+            <summary>
+            执行权重筛选,取一个元素
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.RandomSelector.WeightedSelector`1.SelectMultiple(System.Int32)">
+            <summary>
+            执行权重筛选,取多个元素
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.RandomSelector.WeightedSelector`1.CalculateCumulativeWeights">
+            <summary>
+            计算累计权重
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.RandomSelector.WeightedSelector`1.GetCumulativeWeights(System.Collections.Generic.List{Masuit.Tools.RandomSelector.WeightedItem{`0}})">
+            <summary>
+            计算累计权重
+            </summary>
+            <typeparam name="T"></typeparam>
+            <param name="items"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Masuit.Tools.Security.Crc32">
+            <summary>
+            实现一个32位CRC哈希算法(兼容Zip)
+            </summary>
+            <remarks>
+            Crc32仅应用于与旧文件格式和算法向后兼容。 对于新的应用程序,它不够安全。 如果需要多次调用同一数据,请使用HashAlgorithm接口
+            </remarks>
+        </member>
+        <member name="T:Masuit.Tools.Security.Crc64">
+            <summary>
+            64-bit CRC 实现
+            </summary>
+            <remarks>
+            支持ISO 3309标准
+            </remarks>
+        </member>
+        <member name="T:Masuit.Tools.Security.Encrypt">
+            <summary>
+            常用的加密解密算法
+            </summary>
+        </member>
+        <member name="F:Masuit.Tools.Security.Encrypt.DefaultEncryptKey">
+            <summary>
+            加密密钥,默认取“masuit”的MD5值
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Security.Encrypt.DesEncrypt(System.String)">
+            <summary>
+            使用默认加密
+            </summary>
+            <param name="strText">被加密的字符串</param>
+            <returns>加密后的数据</returns>
+        </member>
+        <member name="M:Masuit.Tools.Security.Encrypt.DesDecrypt(System.String)">
+            <summary>
+            使用默认解密
+            </summary>
+            <param name="strText">需要解密的 字符串</param>
+            <returns>解密后的数据</returns>
+        </member>
+        <member name="M:Masuit.Tools.Security.Encrypt.DesEncrypt(System.String,System.String)">
+            <summary> 
+            加密字符串
+            加密密钥必须为8位
+            </summary> 
+            <param name="strText">被加密的字符串</param> 
+            <param name="strEncrKey">8位长度密钥</param> 
+            <returns>加密后的数据</returns> 
+        </member>
+        <member name="M:Masuit.Tools.Security.Encrypt.DesEncrypt(System.IO.FileStream,System.String,System.String)">
+            <summary>
+            DES加密文件
+            </summary>
+            <param name="fin">文件输入流</param>
+            <param name="outFilePath">文件输出路径</param>
+            <param name="strEncrKey">加密密钥</param>
+        </member>
+        <member name="M:Masuit.Tools.Security.Encrypt.DesDecrypt(System.IO.FileStream,System.String,System.String)">
+            <summary>
+            DES解密文件
+            </summary>
+            <param name="fin">输入文件流</param>
+            <param name="outFilePath">文件输出路径</param>
+            <param name="sDecrKey">解密密钥</param>
+        </member>
+        <member name="M:Masuit.Tools.Security.Encrypt.DesDecrypt(System.String,System.String)">
+            <summary>
+                DES解密算法
+                密钥为8位
+            </summary>
+            <param name="pToDecrypt">需要解密的字符串</param>
+            <param name="sKey">密钥</param>
+            <returns>解密后的数据</returns>
+        </member>
+        <member name="M:Masuit.Tools.Security.Encrypt.AESEncrypt(System.String)">
+            <summary>
+            对称加密算法AES RijndaelManaged加密(RijndaelManaged(AES)算法是块式加密算法)
+            </summary>
+            <param name="encryptString">待加密字符串</param>
+            <returns>加密结果字符串</returns>
+        </member>
+        <member name="M:Masuit.Tools.Security.Encrypt.AESEncrypt(System.String,System.String)">
+            <summary>
+            对称加密算法AES RijndaelManaged加密(RijndaelManaged(AES)算法是块式加密算法)
+            </summary>
+            <param name="encryptString">待加密字符串</param>
+            <param name="encryptKey">加密密钥,须半角字符</param>
+            <returns>加密结果字符串</returns>
+        </member>
+        <member name="M:Masuit.Tools.Security.Encrypt.AESDecrypt(System.String)">
+            <summary>
+            对称加密算法AES RijndaelManaged解密字符串
+            </summary>
+            <param name="decryptString">待解密的字符串</param>
+            <returns>解密成功返回解密后的字符串,失败返源串</returns>
+        </member>
+        <member name="M:Masuit.Tools.Security.Encrypt.AESDecrypt(System.String,System.String)">
+            <summary>
+            对称加密算法AES RijndaelManaged解密字符串
+            </summary>
+            <param name="decryptString">待解密的字符串</param>
+            <param name="decryptKey">解密密钥,和加密密钥相同</param>
+            <returns>解密成功返回解密后的字符串,失败返回空</returns>
+        </member>
+        <member name="M:Masuit.Tools.Security.Encrypt.GetSubString(System.String,System.Int32,System.String)">
+            <summary>
+            按字节长度(按字节,一个汉字为2个字节)取得某字符串的一部分
+            </summary>
+            <param name="sourceString">源字符串</param>
+            <param name="length">所取字符串字节长度</param>
+            <param name="tailString">附加字符串(当字符串不够长时,尾部所添加的字符串,一般为"...")</param>
+            <returns>某字符串的一部分</returns>
+        </member>
+        <member name="M:Masuit.Tools.Security.Encrypt.GetSubString(System.String,System.Int32,System.Int32,System.String)">
+            <summary>
+            按字节长度(按字节,一个汉字为2个字节)取得某字符串的一部分
+            </summary>
+            <param name="sourceString">源字符串</param>
+            <param name="startIndex">索引位置,以0开始</param>
+            <param name="length">所取字符串字节长度</param>
+            <param name="tailString">附加字符串(当字符串不够长时,尾部所添加的字符串,一般为"...")</param>
+            <returns>某字符串的一部分</returns>
+        </member>
+        <member name="M:Masuit.Tools.Security.Encrypt.AESEncryptStrream(System.IO.FileStream,System.String)">
+            <summary>
+            加密文件流
+            </summary>
+            <param name="fs">需要加密的文件流</param>
+            <param name="decryptKey">加密密钥</param>
+            <returns>加密流</returns>
+        </member>
+        <member name="M:Masuit.Tools.Security.Encrypt.AESDecryptStream(System.IO.FileStream,System.String)">
+            <summary>
+            解密文件流
+            </summary>
+            <param name="fs">需要解密的文件流</param>
+            <param name="decryptKey">解密密钥</param>
+            <returns>加密流</returns>
+        </member>
+        <member name="M:Masuit.Tools.Security.Encrypt.AESEncryptFile(System.IO.FileStream,System.String)">
+            <summary>
+            对指定文件AES加密
+            </summary>
+            <param name="input">源文件流</param>
+            <param name="outputPath">输出文件路径</param>
+        </member>
+        <member name="M:Masuit.Tools.Security.Encrypt.AESDecryptFile(System.IO.FileStream,System.String)">
+            <summary>
+            对指定的文件AES解密
+            </summary>
+            <param name="input">源文件流</param>
+            <param name="outputPath">输出文件路径</param>
+        </member>
+        <member name="M:Masuit.Tools.Security.Encrypt.Base64Encrypt(System.String)">
+            <summary>
+            Base64加密
+            </summary>
+            <param name="str">需要加密的字符串</param>
+            <returns>加密后的数据</returns>
+        </member>
+        <member name="M:Masuit.Tools.Security.Encrypt.Base64Decrypt(System.String)">
+            <summary>
+            Base64解密
+            </summary>
+            <param name="str">需要解密的字符串</param>
+            <returns>解密后的数据</returns>
+        </member>
+        <member name="M:Masuit.Tools.Security.Encrypt.MD5Encrypt(System.String)">
+            <summary> 
+            MD5加密
+            </summary> 
+            <param name="strText">原数据</param> 
+            <returns>MD5字符串</returns> 
+        </member>
+        <member name="M:Masuit.Tools.Security.Encrypt.SHA256(System.String)">
+            <summary>
+            SHA256函数
+            </summary>
+            <param name="str">原始字符串</param>
+            <returns>SHA256结果(返回长度为44字节的字符串)</returns>
+        </member>
+        <member name="M:Masuit.Tools.Security.Encrypt.GenerateKey">
+            <summary>
+                创建Key
+            </summary>
+            <returns>密钥</returns>
+        </member>
+        <member name="M:Masuit.Tools.Security.Encrypt.MD5Encrypt(System.String,System.String)">
+            <summary>
+                MD5加密
+            </summary>
+            <param name="pToEncrypt">加密字符串</param>
+            <param name="sKey">密钥Key</param>
+            <returns>加密后的字符串</returns>
+        </member>
+        <member name="M:Masuit.Tools.Security.Encrypt.MD5Decrypt(System.String,System.String)">
+            <summary>
+                MD5解密
+            </summary>
+            <param name="pToDecrypt">解密字符串</param>
+            <param name="sKey">密钥Key</param>
+            <returns>解密后的数据</returns>
+        </member>
+        <member name="M:Masuit.Tools.Security.Encrypt.MD5Array(System.Byte[])">
+            <summary>
+                MD5对数组数据加密
+            </summary>
+            <param name="input">包含需要加密的数据的数组</param>
+            <returns>加密后的字节流</returns>
+        </member>
+        <member name="M:Masuit.Tools.Security.Encrypt.ArrayToHexString(System.Byte[],System.Boolean)">
+            <summary>
+                获取数组的Hex值
+            </summary>
+            <param name="array">需要求Hex值的数组</param>
+            <param name="uppercase">是否转大写</param>
+            <returns>字节数组的16进制表示</returns>
+        </member>
+        <member name="M:Masuit.Tools.Security.Encrypt.MDString(System.String)">
+            <summary>
+                对字符串进行MD5加密
+            </summary>
+            <param name="message">需要加密的字符串</param>
+            <returns>加密后的结果</returns>
+        </member>
+        <member name="M:Masuit.Tools.Security.Encrypt.MDString2(System.String)">
+            <summary>
+                对字符串进行MD5二次加密
+            </summary>
+            <param name="message">需要加密的字符串</param>
+            <returns>加密后的结果</returns>
+        </member>
+        <member name="M:Masuit.Tools.Security.Encrypt.MDString3(System.String)">
+            <summary>
+            MD5 三次加密算法
+            </summary>
+            <param name="s">需要加密的字符串</param>
+            <returns>MD5字符串</returns>
+        </member>
+        <member name="M:Masuit.Tools.Security.Encrypt.MDString(System.String,System.String)">
+            <summary>
+                对字符串进行MD5加盐加密
+            </summary>
+            <param name="message">需要加密的字符串</param>
+            <param name="salt">盐</param>
+            <returns>加密后的结果</returns>
+        </member>
+        <member name="M:Masuit.Tools.Security.Encrypt.MDString2(System.String,System.String)">
+            <summary>
+                对字符串进行MD5二次加盐加密
+            </summary>
+            <param name="message">需要加密的字符串</param>
+            <param name="salt">盐</param>
+            <returns>加密后的结果</returns>
+        </member>
+        <member name="M:Masuit.Tools.Security.Encrypt.MDString3(System.String,System.String)">
+            <summary>
+            MD5 三次加密算法
+            </summary>
+            <param name="s">需要加密的字符串</param>
+            <param name="salt">盐</param>
+            <returns>MD5字符串</returns>
+        </member>
+        <member name="M:Masuit.Tools.Security.Encrypt.MDFile(System.String)">
+            <summary>
+            获取文件的MD5值
+            </summary>
+            <param name="fileName">需要求MD5值的文件的文件名及路径</param>
+            <returns>MD5字符串</returns>
+        </member>
+        <member name="M:Masuit.Tools.Security.Encrypt.MD5Test(System.String)">
+            <summary>
+                测试MD5加密算法的函数
+            </summary>
+            <param name="message">需要加密的字符串</param>
+            <returns>加密后的 数据</returns>
+        </member>
+        <member name="M:Masuit.Tools.Security.Encrypt.TestSuite">
+            <summary>
+                MD5加密算法测试用数据
+            </summary>
+            <returns> </returns>
+        </member>
+        <member name="T:Masuit.Tools.Security.RC2">
+            <summary>
+                RC2加密解密算法
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Security.RC2.EncryptToFile(System.String,System.String,System.Int32)">
+            <summary>
+                将文本数据加密后写入一个文件,其中,这个文件是用InitBinFile建立的,这个文件将被分成十块,
+                用来分别保存10组不同的数据,第一个byte位保留,第2位到第21位分别用来存放每块数据的长度,但
+                一个byte的取值为0-127,所以,用两个byte来存放一个长度。
+            </summary>
+            <param name="toEncryptText">要加密的文本数据</param>
+            <param name="filePath">要写入的文件</param>
+            <param name="dataIndex">写入第几块,取值为1--10</param>
+            <returns>是否操作成功</returns>
+        </member>
+        <member name="M:Masuit.Tools.Security.RC2.DecryptFromFile(System.String,System.Int32)">
+            <summary>
+                从一个文件中解密出一段文本,其中,这个文件是由InitBinFile建立的,并且由 EncryptToFile加密的
+            </summary>
+            <param name="filePath">要解密的文件</param>
+            <param name="dataIndex">要从哪一个块中解密</param>
+            <returns>解密后的文本</returns>
+        </member>
+        <member name="M:Masuit.Tools.Security.RC2.EncryptToFile(System.String,System.String)">
+            <summary>
+                将一段文本加密后保存到一个文件
+            </summary>
+            <param name="toEncryptText">要加密的文本数据</param>
+            <param name="filePath">要保存的文件</param>
+            <returns>是否加密成功</returns>
+        </member>
+        <member name="M:Masuit.Tools.Security.RC2.DecryptFromFile(System.String)">
+            <summary>
+                将一个被加密的文件解密
+            </summary>
+            <param name="filePath">要解密的文件</param>
+            <returns>解密后的文本</returns>
+        </member>
+        <member name="M:Masuit.Tools.Security.RC2.EncryptToFile(System.String,System.String,System.Int32,System.Byte[],System.Byte[])">
+            <summary>
+                将文本数据加密后写入一个文件,其中,这个文件是用InitBinFile建立的,这个文件将被分成十块,
+                用来分别保存10组不同的数据,第一个byte位保留,第2位到第21位分别用来存放每块数据的长度,但
+                一个byte的取值为0-127,所以,用两个byte来存放一个长度。
+            </summary>
+            <param name="toEncryptText">要加密的文本数据</param>
+            <param name="filePath">要写入的文件</param>
+            <param name="dataIndex">写入第几块,取值为1--10</param>
+            <param name="IV">初始化向量</param>
+            <param name="Key">加密密匙</param>
+            <returns>是否操作成功</returns>
+        </member>
+        <member name="M:Masuit.Tools.Security.RC2.DecryptFromFile(System.String,System.Int32,System.Byte[],System.Byte[])">
+            <summary>
+                从一个文件中解密出一段文本,其中,这个文件是由InitBinFile建立的,并且由 EncryptToFile加密的
+            </summary>
+            <param name="filePath">要解密的文件</param>
+            <param name="dataIndex">要从哪一个块中解密</param>
+            <param name="iv">初始化向量</param>
+            <param name="key">解密密匙</param>
+            <returns>解密后的文本</returns>
+        </member>
+        <member name="M:Masuit.Tools.Security.RC2.EncryptToFile(System.String,System.String,System.Byte[],System.Byte[])">
+            <summary>
+                将一段文本加密后保存到一个文件
+            </summary>
+            <param name="toEncryptText">要加密的文本数据</param>
+            <param name="filePath">要保存的文件</param>
+            <param name="iv">初始化向量</param>
+            <param name="key">加密密匙</param>
+            <returns>是否加密成功</returns>
+        </member>
+        <member name="M:Masuit.Tools.Security.RC2.DecryptFromFile(System.String,System.Byte[],System.Byte[])">
+            <summary>
+                将一个被加密的文件解密
+            </summary>
+            <param name="filePath">要解密的文件</param>
+            <param name="iv">初始化向量</param>
+            <param name="key">解密密匙</param>
+            <returns>解密后的文本</returns>
+        </member>
+        <member name="M:Masuit.Tools.Security.RC2.SetIV(System.String)">
+            <summary>
+                设置加密或解密的初始化向量
+            </summary>
+            <param name="s">长度等于8的ASCII字符集的字符串</param>
+        </member>
+        <member name="M:Masuit.Tools.Security.RC2.SetKey(System.String)">
+            <summary>
+                设置加密或解密的密匙
+            </summary>
+            <param name="s">长度等于16的ASCII字符集的字符串</param>
+        </member>
+        <member name="T:Masuit.Tools.Security.Rijndael">
+            <summary>
+                对称加密解密算法类
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Security.Rijndael.SymmetricMethod">
+            <summary>
+                对称加密类的构造函数
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Security.Rijndael.GetLegalKey">
+            <summary>
+                获得密钥
+            </summary>
+            <returns>密钥</returns>
+        </member>
+        <member name="M:Masuit.Tools.Security.Rijndael.GetLegalIV">
+            <summary>
+                获得初始向量IV
+            </summary>
+            <returns>初试向量IV</returns>
+        </member>
+        <member name="M:Masuit.Tools.Security.Rijndael.Encrypto(System.String)">
+            <summary>
+                加密方法
+            </summary>
+            <param name="source">待加密的串</param>
+            <returns>经过加密的串</returns>
+        </member>
+        <member name="M:Masuit.Tools.Security.Rijndael.Decrypto(System.String)">
+            <summary>
+                解密方法
+            </summary>
+            <param name="source">待解密的串</param>
+            <returns>经过解密的串</returns>
+        </member>
+        <member name="T:Masuit.Tools.Security.HashEncode">
+            <summary>
+            得到随机安全码(哈希加密)。
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Security.HashEncode.GetSecurity(System.Random)">
+            <summary>
+            得到随机哈希加密字符串
+            </summary>
+            <returns>随机哈希加密字符串</returns>
+        </member>
+        <member name="M:Masuit.Tools.Security.HashEncode.HashEncoding(System.String)">
+            <summary>
+            哈希加密一个字符串
+            </summary>
+            <param name="security">需要加密的字符串</param>
+            <returns>加密后的数据</returns>
+        </member>
+        <member name="T:Masuit.Tools.Security.RSA">
+            <summary>
+            RSA操作类
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Security.RSA.ToXML(System.Boolean)">
+            <summary>
+            导出XML格式密钥对,如果convertToPublic含私钥的RSA将只返回公钥,仅含公钥的RSA不受影响
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Security.RSA.ToPEM_PKCS1(System.Boolean)">
+            <summary>
+            导出PEM PKCS#1格式密钥对,如果convertToPublic含私钥的RSA将只返回公钥,仅含公钥的RSA不受影响
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Security.RSA.ToPEM_PKCS8(System.Boolean)">
+            <summary>
+            导出PEM PKCS#8格式密钥对,如果convertToPublic含私钥的RSA将只返回公钥,仅含公钥的RSA不受影响
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Security.RSA.ToPEM(System.Boolean)">
+            <summary>
+            将密钥对导出成PEM对象,如果convertToPublic含私钥的RSA将只返回公钥,仅含公钥的RSA不受影响
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Security.RSA.Encrypt(System.String)">
+            <summary>
+            加密字符串(utf-8),出错抛异常
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Security.RSA.Encrypt(System.Byte[])">
+            <summary>
+            加密数据,出错抛异常
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Security.RSA.DecryptOrNull(System.String)">
+            <summary>
+            解密字符串(utf-8),解密异常返回null
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Security.RSA.DecryptOrNull(System.Byte[])">
+            <summary>
+            解密数据,解密异常返回null
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Security.RSA.Sign(System.String,System.String)">
+            <summary>
+            对str进行签名,并指定hash算法(如:SHA256)
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Security.RSA.Sign(System.String,System.Byte[])">
+            <summary>
+            对data进行签名,并指定hash算法(如:SHA256)
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Security.RSA.Verify(System.String,System.String,System.String)">
+            <summary>
+            验证字符串str的签名是否是sgin,并指定hash算法(如:SHA256)
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Security.RSA.Verify(System.String,System.Byte[],System.Byte[])">
+            <summary>
+            验证data的签名是否是sgin,并指定hash算法(如:SHA256)
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Security.RSA.RSAObject">
+            <summary>
+            最底层的RSACryptoServiceProvider对象
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Security.RSA.KeySize">
+            <summary>
+            密钥位数
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Security.RSA.HasPrivate">
+            <summary>
+            是否包含私钥
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Security.RSA.#ctor(System.Int32)">
+            <summary>
+            用指定密钥大小创建一个新的RSA,出错抛异常
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Security.RSA.#ctor(System.String)">
+            <summary>
+            通过公钥或私钥创建RSA,出错抛异常
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Security.RSA.#ctor(Masuit.Tools.Security.RsaPem)">
+            <summary>
+            通过一个pem对象创建RSA,pem为公钥或私钥,出错抛异常
+            </summary>
+        </member>
+        <member name="T:Masuit.Tools.Security.RsaCrypt">
+            <summary>
+            RSA加密解密及RSA签名和验证
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Security.RsaCrypt.GenerateRsaKeys(Masuit.Tools.Security.RsaKeyType,System.Int32)">
+            <summary>
+            生成 RSA 公钥和私钥
+            </summary>
+            <param name="type">密钥类型</param>
+            <param name="length">密钥长度</param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Security.RsaCrypt.RSAEncrypt(System.String,System.String)">
+            <summary>
+            RSA的加密函数 string
+            </summary>
+            <param name="publicKey">公钥</param>
+            <param name="mStrEncryptString">需要加密的字符串</param>
+            <returns>加密后的内容</returns>
+            <exception cref="T:System.Security.Cryptography.CryptographicException">The cryptographic service provider (CSP) cannot be acquired. </exception>
+        </member>
+        <member name="M:Masuit.Tools.Security.RsaCrypt.RSAEncrypt(System.String)">
+            <summary>
+            RSA的加密函数 string
+            </summary>
+            <param name="mStrEncryptString">需要加密的字符串</param>
+            <returns>加密后的内容</returns>
+            <exception cref="T:System.Security.Cryptography.CryptographicException">The cryptographic service provider (CSP) cannot be acquired. </exception>
+        </member>
+        <member name="M:Masuit.Tools.Security.RsaCrypt.RSAEncrypt(System.Byte[],System.String)">
+            <summary>
+            RSA的加密函数 byte[]
+            </summary>
+            <param name="encryptString">需要加密的字节数组</param>
+            <param name="publicKey">公钥</param>
+            <returns>加密后的内容</returns>
+            <exception cref="T:System.Security.Cryptography.CryptographicException">The cryptographic service provider (CSP) cannot be acquired. </exception>
+        </member>
+        <member name="M:Masuit.Tools.Security.RsaCrypt.RSAEncrypt(System.Byte[])">
+            <summary>
+            RSA的加密函数 byte[]
+            </summary>
+            <param name="encryptString">需要加密的字节数组</param>
+            <returns>加密后的内容</returns>
+            <exception cref="T:System.Security.Cryptography.CryptographicException">The cryptographic service provider (CSP) cannot be acquired. </exception>
+        </member>
+        <member name="M:Masuit.Tools.Security.RsaCrypt.RSADecrypt(System.String,System.String)">
+            <summary>
+            RSA的解密函数  string
+            </summary>
+            <param name="mStrDecryptString">需要解密的字符串</param>
+            <param name="privateKey">私钥</param>
+            <returns>解密后的内容</returns>
+            <exception cref="T:System.Security.Cryptography.CryptographicException">The cryptographic service provider (CSP) cannot be acquired. </exception>
+        </member>
+        <member name="M:Masuit.Tools.Security.RsaCrypt.RSADecrypt(System.String)">
+            <summary>
+            RSA的解密函数  string
+            </summary>
+            <param name="mStrDecryptString">需要解密的字符串</param>
+            <returns>解密后的内容</returns>
+            <exception cref="T:System.Security.Cryptography.CryptographicException">The cryptographic service provider (CSP) cannot be acquired. </exception>
+        </member>
+        <member name="M:Masuit.Tools.Security.RsaCrypt.RSADecrypt(System.Byte[],System.String)">
+            <summary>
+            RSA的解密函数  byte
+            </summary>
+            <param name="decryptString">需要解密的字符串</param>
+            <param name="privateKey">私钥</param>
+            <returns>解密后的内容</returns>
+            <exception cref="T:System.Security.Cryptography.CryptographicException">The cryptographic service provider (CSP) cannot be acquired. </exception>
+        </member>
+        <member name="M:Masuit.Tools.Security.RsaCrypt.RSADecrypt(System.Byte[])">
+            <summary>
+            RSA的解密函数  byte
+            </summary>
+            <param name="decryptString">需要解密的字符串</param>
+            <returns>解密后的内容</returns>
+            <exception cref="T:System.Security.Cryptography.CryptographicException">The cryptographic service provider (CSP) cannot be acquired. </exception>
+        </member>
+        <member name="M:Masuit.Tools.Security.RsaCrypt.GetHashBytes(System.String)">
+            <summary>
+            获取Hash描述表
+            </summary>
+            <param name="mStrSource">源数据</param>
+            <returns>Hash描述表</returns>
+        </member>
+        <member name="M:Masuit.Tools.Security.RsaCrypt.GetHashString(System.String)">
+            <summary>
+            获取Hash描述表
+            </summary>
+            <param name="mStrSource">源数据</param>
+            <returns>Hash描述表</returns>
+        </member>
+        <member name="M:Masuit.Tools.Security.RsaCrypt.GetHashBytes(System.IO.FileStream)">
+            <summary>
+            从文件流获取Hash描述表
+            </summary>
+            <param name="objFile">源文件</param>
+            <returns>Hash描述表</returns>
+        </member>
+        <member name="M:Masuit.Tools.Security.RsaCrypt.GetHashString(System.IO.FileStream)">
+            <summary>
+            从文件流获取Hash描述表
+            </summary>
+            <param name="objFile">源文件</param>
+            <returns>Hash描述表</returns>
+        </member>
+        <member name="M:Masuit.Tools.Security.RsaCrypt.SignatureBytes(System.Byte[],System.String)">
+            <summary>
+            RSA签名
+            </summary>
+            <param name="hashbyteSignature">签名字节数据</param>
+            <param name="privateKey">私钥</param>
+            <returns>处理结果</returns>
+            <exception cref="T:System.Security.Cryptography.CryptographicException">The cryptographic service provider (CSP) cannot be acquired. </exception>
+            <exception cref="T:System.Security.Cryptography.CryptographicUnexpectedOperationException">The key is null.-or- The hash algorithm is null. </exception>
+        </member>
+        <member name="M:Masuit.Tools.Security.RsaCrypt.SignatureString(System.Byte[],System.String)">
+            <summary>
+            RSA签名
+            </summary>
+            <param name="hashbyteSignature">签名字节数据</param>
+            <param name="privateKey">私钥</param>
+            <returns>处理结果</returns>
+            <exception cref="T:System.Security.Cryptography.CryptographicException">The cryptographic service provider (CSP) cannot be acquired. </exception>
+            <exception cref="T:System.Security.Cryptography.CryptographicUnexpectedOperationException">The key is null.-or- The hash algorithm is null. </exception>
+        </member>
+        <member name="M:Masuit.Tools.Security.RsaCrypt.SignatureBytes(System.String,System.String)">
+            <summary>
+            RSA签名
+            </summary>
+            <param name="mStrHashbyteSignature">签名字符串数据</param>
+            <param name="pStrKeyPrivate">私钥</param>
+            <returns>处理结果</returns>
+            <exception cref="T:System.Security.Cryptography.CryptographicException">The cryptographic service provider (CSP) cannot be acquired. </exception>
+            <exception cref="T:System.Security.Cryptography.CryptographicUnexpectedOperationException">The key is null.-or- The hash algorithm is null. </exception>
+        </member>
+        <member name="M:Masuit.Tools.Security.RsaCrypt.SignatureString(System.String,System.String)">
+            <summary>
+            RSA签名
+            </summary>
+            <param name="mStrHashbyteSignature">签名字符串数据</param>
+            <param name="pStrKeyPrivate">私钥</param>
+            <returns>处理结果</returns>
+            <exception cref="T:System.Security.Cryptography.CryptographicException">The cryptographic service provider (CSP) cannot be acquired. </exception>
+            <exception cref="T:System.Security.Cryptography.CryptographicUnexpectedOperationException">The key is null.-or- The hash algorithm is null. </exception>
+        </member>
+        <member name="M:Masuit.Tools.Security.RsaCrypt.SignatureDeformatter(System.Byte[],System.String,System.Byte[])">
+            <summary>
+            RSA 签名验证
+            </summary>
+            <param name="deformatterData">反格式化字节数据</param>
+            <param name="publicKey">公钥</param>
+            <param name="hashbyteDeformatter">哈希字节数据</param>
+            <returns>处理结果</returns>
+            <exception cref="T:System.Security.Cryptography.CryptographicException">The cryptographic service provider (CSP) cannot be acquired. </exception>
+            <exception cref="T:System.Security.Cryptography.CryptographicUnexpectedOperationException">The key is null.-or- The hash algorithm is null. </exception>
+        </member>
+        <member name="M:Masuit.Tools.Security.RsaCrypt.SignatureDeformatter(System.Byte[],System.String,System.String)">
+            <summary>
+            RSA 签名验证
+            </summary>
+            <param name="deformatterData">反格式化字节数据</param>
+            <param name="publicKey">公钥</param>
+            <param name="pStrHashbyteDeformatter">哈希字符串数据</param>
+            <returns>处理结果</returns>
+            <exception cref="T:System.Security.Cryptography.CryptographicException">The cryptographic service provider (CSP) cannot be acquired. </exception>
+            <exception cref="T:System.Security.Cryptography.CryptographicUnexpectedOperationException">The key is null.-or- The hash algorithm is null. </exception>
+        </member>
+        <member name="M:Masuit.Tools.Security.RsaCrypt.SignatureDeformatter(System.String,System.String,System.Byte[])">
+            <summary>
+            RSA 签名验证
+            </summary>
+            <param name="pStrDeformatterData">反格式化字符串数据</param>
+            <param name="publicKey">公钥</param>
+            <param name="hashbyteDeformatter">哈希字节数据</param>
+            <returns>处理结果</returns>
+            <exception cref="T:System.Security.Cryptography.CryptographicException">The cryptographic service provider (CSP) cannot be acquired. </exception>
+            <exception cref="T:System.Security.Cryptography.CryptographicUnexpectedOperationException">The key is null.-or- The hash algorithm is null. </exception>
+        </member>
+        <member name="M:Masuit.Tools.Security.RsaCrypt.SignatureDeformatter(System.String,System.String,System.String)">
+            <summary>
+            RSA 签名验证
+            </summary>
+            <param name="pStrDeformatterData">格式字符串数据</param>
+            <param name="publicKey">公钥</param>
+            <param name="pStrHashbyteDeformatter">哈希字符串数据</param>
+            <returns>处理结果</returns>
+            <exception cref="T:System.Security.Cryptography.CryptographicException">The cryptographic service provider (CSP) cannot be acquired. </exception>
+            <exception cref="T:System.Security.Cryptography.CryptographicUnexpectedOperationException">The key is null.-or- The hash algorithm is null. </exception>
+        </member>
+        <member name="T:Masuit.Tools.Security.RsaKey">
+            <summary>
+            RSA密钥对
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Security.RsaKey.PublicKey">
+            <summary>
+            公钥
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Security.RsaKey.PrivateKey">
+            <summary>
+            私钥
+            </summary>
+        </member>
+        <member name="T:Masuit.Tools.Security.RsaPem">
+            <summary>
+            RSA PEM格式密钥对的解析和导出
+            </summary>
+        </member>
+        <member name="F:Masuit.Tools.Security.RsaPem.KeyModulus">
+            <summary>
+            modulus 模数n,公钥、私钥都有
+            </summary>
+        </member>
+        <member name="F:Masuit.Tools.Security.RsaPem.KeyExponent">
+            <summary>
+            publicExponent 公钥指数e,公钥、私钥都有
+            </summary>
+        </member>
+        <member name="F:Masuit.Tools.Security.RsaPem.KeyD">
+            <summary>
+            privateExponent 私钥指数d,只有私钥的时候才有
+            </summary>
+        </member>
+        <member name="F:Masuit.Tools.Security.RsaPem.ValP">
+            <summary>
+            prime1
+            </summary>
+        </member>
+        <member name="F:Masuit.Tools.Security.RsaPem.ValQ">
+            <summary>
+            prime2
+            </summary>
+        </member>
+        <member name="F:Masuit.Tools.Security.RsaPem.ValDp">
+            <summary>
+            exponent1
+            </summary>
+        </member>
+        <member name="F:Masuit.Tools.Security.RsaPem.ValDq">
+            <summary>
+            exponent2
+            </summary>
+        </member>
+        <member name="F:Masuit.Tools.Security.RsaPem.ValInverseQ">
+            <summary>
+            coefficient
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Security.RsaPem.#ctor(System.Security.Cryptography.RSACryptoServiceProvider,System.Boolean)">
+            <summary>
+            通过RSA中的公钥和私钥构造一个PEM,如果convertToPublic含私钥的RSA将只读取公钥,仅含公钥的RSA不受影响
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Security.RsaPem.#ctor(System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[])">
+            <summary>
+            通过全量的PEM字段数据构造一个PEM,除了模数modulus和公钥指数exponent必须提供外,其他私钥指数信息要么全部提供,要么全部不提供(导出的PEM就只包含公钥)
+            注意:所有参数首字节如果是0,必须先去掉
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Security.RsaPem.#ctor(System.Byte[],System.Byte[],System.Byte[])">
+            <summary>
+            通过公钥指数和私钥指数构造一个PEM,会反推计算出P、Q但和原始生成密钥的P、Q极小可能相同
+            注意:所有参数首字节如果是0,必须先去掉
+            出错将会抛出异常
+            </summary>
+            <param name="modulus">必须提供模数</param>
+            <param name="exponent">必须提供公钥指数</param>
+            <param name="dOrNull">私钥指数可以不提供,导出的PEM就只包含公钥</param>
+        </member>
+        <member name="P:Masuit.Tools.Security.RsaPem.KeySize">
+            <summary>
+            密钥位数
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Security.RsaPem.HasPrivate">
+            <summary>
+            是否包含私钥
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Security.RsaPem.GetRSA">
+            <summary>
+            将PEM中的公钥私钥转成RSA对象,如果未提供私钥,RSA中就只包含公钥
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Security.RsaPem.BigX(System.Byte[])">
+            <summary>
+            转成正整数,如果是负数,需要加前导0转成正整数
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Security.RsaPem.BigB(System.Numerics.BigInteger)">
+            <summary>
+            BigInt导出byte整数首字节>0x7F的会加0前导,保证正整数,因此需要去掉0
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Security.RsaPem.FindFactor(System.Numerics.BigInteger,System.Numerics.BigInteger,System.Numerics.BigInteger)">
+            <summary>
+            由n e d 反推 P Q 
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Security.RsaPem.FromPEM(System.String)">
+            <summary>
+            用PEM格式密钥对创建RSA,支持PKCS#1、PKCS#8格式的PEM
+            出错将会抛出异常
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Security.RsaPem.ToPEM(System.Boolean,System.Boolean)">
+            <summary>
+            将RSA中的密钥对转换成PEM格式,usePKCS8=false时返回PKCS#1格式,否则返回PKCS#8格式,如果convertToPublic含私钥的RSA将只返回公钥,仅含公钥的RSA不受影响
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Security.RsaPem.FromXML(System.String)">
+            <summary>
+            将XML格式密钥转成PEM,支持公钥xml、私钥xml
+            出错将会抛出异常
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Security.RsaPem.ToXML(System.Boolean)">
+            <summary>
+            将RSA中的密钥对转换成XML格式
+            ,如果convertToPublic含私钥的RSA将只返回公钥,仅含公钥的RSA不受影响
+            </summary>
+        </member>
+        <member name="T:Masuit.Tools.Strings.NumberFormater">
+            <summary>
+            数制格式化器
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Strings.NumberFormater.Characters">
+            <summary>
+            数制表示字符集
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Strings.NumberFormater.Length">
+            <summary>
+            进制长度
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Strings.NumberFormater.#ctor">
+            <summary>
+            数制格式化器
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Strings.NumberFormater.#ctor(System.String)">
+            <summary>
+            数制格式化器
+            </summary>
+            <param name="characters">进制转换</param>
+        </member>
+        <member name="M:Masuit.Tools.Strings.NumberFormater.#ctor(System.Int32)">
+            <summary>
+            数制格式化器
+            </summary>
+            <param name="bin">进制</param>
+        </member>
+        <member name="M:Masuit.Tools.Strings.NumberFormater.ToString(System.Int64)">
+            <summary>
+            数字转换为指定的进制形式字符串
+            </summary>
+            <param name="number"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Strings.NumberFormater.ToString(System.Numerics.BigInteger)">
+            <summary>
+            数字转换为指定的进制形式字符串
+            </summary>
+            <param name="number"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Strings.NumberFormater.FromString(System.String)">
+            <summary>
+            指定字符串转换为指定进制的数字形式
+            </summary>
+            <param name="str"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Strings.NumberFormater.FromStringBig(System.String)">
+            <summary>
+            指定字符串转换为指定进制的大数形式
+            </summary>
+            <param name="str"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Strings.NumberFormater.ToString">
+            <summary>Returns a string that represents the current object.</summary>
+            <returns>A string that represents the current object.</returns>
+        </member>
+        <member name="M:Masuit.Tools.Strings.NumberFormater.ToChineseNumber(System.Double)">
+            <summary>
+            转换为中文数字格式
+            </summary>
+            <param name="num">123.45</param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Strings.NumberFormater.ToChineseMoney(System.Double)">
+            <summary>
+            数字转中文金额大写
+            </summary>
+            <param name="number">22.22</param>
+            <returns></returns>
+        </member>
+        <member name="T:Masuit.Tools.Strings.Template">
+            <summary>
+            模版引擎
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Strings.Template.#ctor(System.String)">
+            <summary>
+            模版引擎
+            </summary>
+            <param name="content"></param>
+        </member>
+        <member name="M:Masuit.Tools.Strings.Template.Create(System.String)">
+            <summary>
+            创建模板
+            </summary>
+            <param name="content"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Strings.Template.Set(System.String,System.String)">
+            <summary>
+            设置变量
+            </summary>
+            <param name="key"></param>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Strings.Template.Render(System.Boolean)">
+            <summary>
+            渲染模板
+            </summary>
+            <param name="check">是否检查未使用的模板变量</param>
+            <returns></returns>
+        </member>
+        <member name="T:Masuit.Tools.Strings.ValidateCode">
+            <summary>
+            画验证码
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Strings.ValidateCode.CreateValidateCode(System.Int32)">
+            <summary>
+            生成验证码
+            </summary>
+            <param name="length">指定验证码的长度</param>
+            <returns>验证码字符串</returns>
+        </member>
+        <member name="M:Masuit.Tools.Strings.ValidateCode.CreateValidateGraphic(Microsoft.AspNetCore.Http.HttpContext,System.String,System.Int32,System.Int32)">
+            <summary>
+            创建验证码的图片
+            </summary>
+            <param name="validateCode">验证码序列</param>
+            <param name="context">当前的HttpContext上下文对象</param>
+            <param name="fontSize">字体大小,默认值22px</param>
+            <param name="lineHeight">行高,默认36px</param>
+            <exception cref="T:System.Exception">The operation failed.</exception>
+        </member>
+        <member name="T:Masuit.Tools.Systems.ConcurrentLimitedQueue`1">
+            <summary>
+            定长队列
+            </summary>
+            <typeparam name="T"></typeparam>
+        </member>
+        <member name="P:Masuit.Tools.Systems.ConcurrentLimitedQueue`1.Limit">
+            <summary>
+            长度
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Systems.ConcurrentLimitedQueue`1.#ctor(System.Int32)">
+            <summary>
+            定长队列
+            </summary>
+            <param name="limit"></param>
+        </member>
+        <member name="M:Masuit.Tools.Systems.ConcurrentLimitedQueue`1.#ctor(System.Collections.Generic.IEnumerable{`0})">
+            <summary>
+            定长队列
+            </summary>
+            <param name="list"></param>
+        </member>
+        <member name="M:Masuit.Tools.Systems.ConcurrentLimitedQueue`1.Enqueue(`0)">
+            <summary>
+            入队
+            </summary>
+            <param name="item"></param>
+        </member>
+        <member name="T:Masuit.Tools.Systems.Disposable">
+            <summary>
+            Disposable
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Systems.Disposable.Finalize">
+            <summary>
+            终结器
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Systems.Disposable.Dispose">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Systems.Disposable.Dispose(System.Boolean)">
+            <summary>
+            释放
+            </summary>
+            <param name="disposing"></param>
+        </member>
+        <member name="T:Masuit.Tools.Systems.EnumExt">
+            <summary>
+            枚举扩展类
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Systems.EnumExt.GetDictionary(System.Type)">
+            <summary>
+            获取枚举对象Key与显示名称的字典
+            </summary>
+            <param name="enumType"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Systems.EnumExt.GetValueItems(System.Type)">
+            <summary>
+            获取枚举对象显示名称与Key的字典
+            </summary>
+            <param name="enumType"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Systems.EnumExt.GetValue(System.Type,System.String)">
+            <summary>
+            获取枚举对象的值内容
+            </summary>
+            <param name="enumType"></param>
+            <param name="name"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Systems.EnumExt.GetEnumType(System.Reflection.Assembly,System.String)">
+            <summary>
+            获取枚举类型
+            </summary>
+            <param name="assembly"></param>
+            <param name="typeName"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Systems.EnumExt.GetDisplay(System.Enum)">
+            <summary>
+            根据枚举成员获取Display的属性Name
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Systems.EnumExt.GetDescriptionAndValue(System.Type)">
+            <summary>
+            根据枚举成员获取自定义属性EnumDisplayNameAttribute的属性DisplayName
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Systems.EnumExt.GetDescription(System.Enum)">
+            <summary>
+            根据枚举成员获取DescriptionAttribute的属性Description
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Systems.EnumExt.ToEnumString(System.Int32,System.Type)">
+            <summary>
+            扩展方法:根据枚举值得到相应的枚举定义字符串
+            </summary>
+            <param name="value"></param>
+            <param name="enumType"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Systems.EnumExt.GetEnumStringFromEnumValue(System.Type)">
+            <summary>
+            根据枚举类型得到其所有的 值 与 枚举定义字符串 的集合
+            </summary>
+            <param name="enumType"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Masuit.Tools.Systems.HiPerfTimer">
+            <summary>
+            纳秒级计时器
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Systems.HiPerfTimer.#ctor">
+            <summary>
+            纳秒计数器
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Systems.HiPerfTimer.Start">
+            <summary>
+            开始计时器
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Systems.HiPerfTimer.StartNew">
+            <summary>
+            启动一个新的计时器
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Systems.HiPerfTimer.Stop">
+            <summary>
+            停止计时器
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Systems.HiPerfTimer.Duration">
+            <summary>
+            时器经过时间(单位:秒)
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Systems.HiPerfTimer.Execute(System.Action)">
+            <summary>
+            执行一个方法并测试执行时间
+            </summary>
+            <param name="action"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Masuit.Tools.Systems.LimitedQueue`1">
+            <summary>
+            定长队列
+            </summary>
+            <typeparam name="T"></typeparam>
+        </member>
+        <member name="P:Masuit.Tools.Systems.LimitedQueue`1.Limit">
+            <summary>
+            队列长度
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Systems.LimitedQueue`1.#ctor(System.Int32)">
+            <summary>
+            定长队列
+            </summary>
+            <param name="limit"></param>
+        </member>
+        <member name="M:Masuit.Tools.Systems.LimitedQueue`1.Enqueue(`0)">
+            <summary>
+            入队
+            </summary>
+            <param name="item"></param>
+        </member>
+        <member name="T:Masuit.Tools.Systems.SnowFlake">
+            <summary>
+            动态生产有规律的分布式ID
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Systems.SnowFlake.NewId">
+            <summary>
+            获取一个新的id
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Systems.SnowFlake.GetInstance">
+            <summary>
+            创建一个实例
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Systems.SnowFlake.#ctor">
+            <summary>
+            默认构造函数
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Systems.SnowFlake.#ctor(System.Int64)">
+            <summary>
+            构造函数
+            </summary>
+            <param name="machineId">机器码</param>
+        </member>
+        <member name="M:Masuit.Tools.Systems.SnowFlake.#ctor(System.Int64,System.Int64)">
+            <summary>
+            构造函数
+            </summary>
+            <param name="machineId">机器码</param>
+            <param name="datacenterId">数据中心id</param>
+        </member>
+        <member name="M:Masuit.Tools.Systems.SnowFlake.SetNumberFormater(Masuit.Tools.Strings.NumberFormater)">
+            <summary>
+            设置数制格式化器
+            </summary>
+            <param name="nf"></param>
+        </member>
+        <member name="M:Masuit.Tools.Systems.SnowFlake.GetLongId">
+            <summary>
+            获取长整形的ID
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Systems.SnowFlake.GetUniqueId">
+            <summary>
+            获取一个字符串表示形式的id
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Masuit.Tools.Systems.SnowFlake.GetUniqueShortId(System.Int32)">
+            <summary>
+            获取一个字符串表示形式的id
+            </summary>
+            <param name="maxLength">最大长度,至少6位</param>
+            <returns></returns>
+        </member>
+        <member name="T:Masuit.Tools.Systems.StopwatchHelper">
+            <summary>
+            计数器帮助类
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Systems.StopwatchHelper.Execute(System.Action)">
+            <summary>
+            执行方法
+            </summary>
+            <param name="action"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Masuit.Tools.Validator.IsEmailAttribute">
+            <summary>
+            邮箱校验
+            </summary>
+        </member>
+        <member name="P:Masuit.Tools.Validator.IsEmailAttribute.DomainWhiteList">
+            <summary>
+            域白名单
+            </summary>
+        </member>
+        <member name="M:Masuit.Tools.Validator.IsEmailAttribute.#ctor(System.Boolean)">
+            <summary>
+            可在配置文件AppSetting节中添加EmailDomainWhiteList配置邮箱域名白名单,逗号分隔
+            </summary>
+            <param name="valid">是否检查邮箱的有效性</param>
+        </member>
+        <member name="M:Masuit.Tools.Validator.IsEmailAttribute.IsValid(System.Object)">
+            <summary>
+            邮箱校验
+            </summary>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+    </members>
+</doc>

+ 0 - 0
Masuit.Tools/Maths/Point2D.cs → Masuit.Tools.Abstractions/Maths/Point2D.cs


+ 0 - 0
Masuit.Tools/Maths/RadarChart.cs → Masuit.Tools.Abstractions/Maths/RadarChart.cs


+ 0 - 0
Masuit.Tools/Maths/RadarChartEngine.cs → Masuit.Tools.Abstractions/Maths/RadarChartEngine.cs


+ 0 - 0
Masuit.Tools/Maths/Vector2D.cs → Masuit.Tools.Abstractions/Maths/Vector2D.cs


+ 0 - 0
Masuit.Tools/Media/ImageUtilities.cs → Masuit.Tools.Abstractions/Media/ImageUtilities.cs


+ 0 - 0
Masuit.Tools/Media/ImageWatermarker.cs → Masuit.Tools.Abstractions/Media/ImageWatermarker.cs


+ 0 - 0
Masuit.Tools/Media/ThumbnailCutMode.cs → Masuit.Tools.Abstractions/Media/ThumbnailCutMode.cs


+ 0 - 0
Masuit.Tools/Media/WatermarkPosition.cs → Masuit.Tools.Abstractions/Media/WatermarkPosition.cs


+ 64 - 0
Masuit.Tools.Abstractions/Models/AddressComponent.cs

@@ -0,0 +1,64 @@
+using Newtonsoft.Json;
+
+namespace Masuit.Tools.Models
+{
+    /// <summary>
+    /// 地理信息成分
+    /// </summary>
+    public class AddressComponent
+    {
+        /// <summary>
+        /// 国家
+        /// </summary>
+        [JsonProperty("country")]
+        public string Country { get; set; }
+
+        /// <summary>
+        /// 国家代码
+        /// </summary>
+        [JsonProperty("country_code")]
+        public int CountryCode { get; set; }
+
+        /// <summary>
+        /// 省
+        /// </summary>
+        [JsonProperty("province")]
+        public string Province { get; set; }
+
+        /// <summary>
+        /// 市
+        /// </summary>
+        [JsonProperty("city")]
+        public string City { get; set; }
+
+        /// <summary>
+        /// 区
+        /// </summary>
+        [JsonProperty("district")]
+        public string District { get; set; }
+
+        /// <summary>
+        /// 街道
+        /// </summary>
+        [JsonProperty("street")]
+        public string Street { get; set; }
+
+        /// <summary>
+        /// 门牌号
+        /// </summary>
+        [JsonProperty("street_number")]
+        public string StreetNumber { get; set; }
+
+        /// <summary>
+        /// 方位
+        /// </summary>
+        [JsonProperty("direction")]
+        public string Direction { get; set; }
+
+        /// <summary>
+        /// 距离
+        /// </summary>
+        [JsonProperty("distance")]
+        public string Distance { get; set; } = "0";
+    }
+}

+ 47 - 0
Masuit.Tools.Abstractions/Models/AddressResult.cs

@@ -0,0 +1,47 @@
+using Newtonsoft.Json;
+using System.Collections.Generic;
+
+namespace Masuit.Tools.Models
+{
+    /// <summary>
+    /// 返回结果集
+    /// </summary>
+    public class AddressResult
+    {
+        /// <summary>
+        /// 经纬度
+        /// </summary>
+        [JsonProperty("location")]
+        public Location Location { get; set; }
+
+        /// <summary>
+        /// 详细地址
+        /// </summary>
+        [JsonProperty("formatted_address")]
+        public string FormattedAddress { get; set; }
+
+        /// <summary>
+        /// 商业地址
+        /// </summary>
+        [JsonProperty("business")]
+        public string Business { get; set; }
+
+        /// <summary>
+        /// 地理信息成分
+        /// </summary>
+        [JsonProperty("addressComponent")]
+        public AddressComponent AddressComponent { get; set; }
+
+        /// <summary>
+        /// 参考地址
+        /// </summary>
+        [JsonProperty("pois")]
+        public List<Pois> Pois { get; set; } = new List<Pois>();
+
+        /// <summary>
+        /// 语义描述
+        /// </summary>
+        [JsonProperty("sematic_description")]
+        public string SematicDescription { get; set; }
+    }
+}

+ 0 - 0
Masuit.Tools/Models/AsposeLicense.cs → Masuit.Tools.Abstractions/Models/AsposeLicense.cs


+ 0 - 0
Masuit.Tools/Models/BaiduIP.cs → Masuit.Tools.Abstractions/Models/BaiduIP.cs


+ 0 - 0
Masuit.Tools/Models/Email.cs → Masuit.Tools.Abstractions/Models/Email.cs


+ 0 - 0
Masuit.Tools/Models/IspInfo.cs → Masuit.Tools.Abstractions/Models/IspInfo.cs


+ 22 - 0
Masuit.Tools.Abstractions/Models/Location.cs

@@ -0,0 +1,22 @@
+using Newtonsoft.Json;
+
+namespace Masuit.Tools.Models
+{
+    /// <summary>
+    /// 经纬度
+    /// </summary>
+    public class Location
+    {
+        /// <summary>
+        /// 经度
+        /// </summary>
+        [JsonProperty("lng")]
+        public double Lng { get; set; }
+
+        /// <summary>
+        /// 纬度
+        /// </summary>
+        [JsonProperty("lat")]
+        public double Lat { get; set; }
+    }
+}

+ 0 - 0
Masuit.Tools/Models/PagedList.cs → Masuit.Tools.Abstractions/Models/PagedList.cs


+ 22 - 0
Masuit.Tools.Abstractions/Models/PhysicsAddress.cs

@@ -0,0 +1,22 @@
+using Newtonsoft.Json;
+
+namespace Masuit.Tools.Models
+{
+    /// <summary>
+    /// 详细地理信息
+    /// </summary>
+    public class PhysicsAddress
+    {
+        /// <summary>
+        /// 返回状态,0正常,1出错
+        /// </summary>
+        [JsonProperty("status")]
+        public int Status { get; set; }
+
+        /// <summary>
+        /// 返回结果集
+        /// </summary>
+        [JsonProperty("result")]
+        public AddressResult AddressResult { get; set; } = new AddressResult();
+    }
+}

+ 52 - 0
Masuit.Tools.Abstractions/Models/Pois.cs

@@ -0,0 +1,52 @@
+using Newtonsoft.Json;
+
+namespace Masuit.Tools.Models
+{
+    /// <summary>
+    /// 参考位置
+    /// </summary>
+    public class Pois
+    {
+        /// <summary>
+        /// 地理位置详细
+        /// </summary>
+        [JsonProperty("addr")]
+        public string AddressDetail { get; set; }
+
+        /// <summary>
+        /// 方位
+        /// </summary>
+        [JsonProperty("direction")]
+        public string Direction { get; set; }
+
+        /// <summary>
+        /// 距离
+        /// </summary>
+        [JsonProperty("distance")]
+        public string Distance { get; set; } = "0";
+
+        /// <summary>
+        /// 建筑物名字
+        /// </summary>
+        [JsonProperty("name")]
+        public string Name { get; set; }
+
+        /// <summary>
+        /// 建筑物类型
+        /// </summary>
+        [JsonProperty("poiType")]
+        public string PoiType { get; set; }
+
+        /// <summary>
+        /// 经纬度
+        /// </summary>
+        [JsonProperty("point")]
+        public LatiLongitude Point { get; set; }
+
+        /// <summary>
+        /// 标签
+        /// </summary>
+        [JsonProperty("tag")]
+        public string Tag { get; set; }
+    }
+}

+ 0 - 0
Masuit.Tools/Models/TaobaoIP.cs → Masuit.Tools.Abstractions/Models/TaobaoIP.cs


+ 0 - 0
Masuit.Tools/Net/FtpClient.cs → Masuit.Tools.Abstractions/Net/FtpClient.cs


+ 0 - 0
Masuit.Tools/Net/MultiThreadDownloader.cs → Masuit.Tools.Abstractions/Net/MultiThreadDownloader.cs


+ 0 - 0
Masuit.Tools/Net/PartialDownloader.cs → Masuit.Tools.Abstractions/Net/PartialDownloader.cs


+ 0 - 0
Masuit.Tools/Net/SocketClient.cs → Masuit.Tools.Abstractions/Net/SocketClient.cs


+ 0 - 0
Masuit.Tools/RandomSelector/Extensions.cs → Masuit.Tools.Abstractions/RandomSelector/Extensions.cs


+ 0 - 0
Masuit.Tools/RandomSelector/MultipleSelector.cs → Masuit.Tools.Abstractions/RandomSelector/MultipleSelector.cs


+ 0 - 0
Masuit.Tools/RandomSelector/SelectorBase.cs → Masuit.Tools.Abstractions/RandomSelector/SelectorBase.cs


+ 0 - 0
Masuit.Tools/RandomSelector/SelectorOptions.cs → Masuit.Tools.Abstractions/RandomSelector/SelectorOptions.cs


+ 0 - 0
Masuit.Tools/RandomSelector/SingleSelector.cs → Masuit.Tools.Abstractions/RandomSelector/SingleSelector.cs


+ 0 - 0
Masuit.Tools/RandomSelector/WeightedItem.cs → Masuit.Tools.Abstractions/RandomSelector/WeightedItem.cs


+ 0 - 0
Masuit.Tools/RandomSelector/WeightedSelector.cs → Masuit.Tools.Abstractions/RandomSelector/WeightedSelector.cs


+ 0 - 0
Masuit.Tools/Security/Crc32.cs → Masuit.Tools.Abstractions/Security/Crc32.cs


+ 0 - 0
Masuit.Tools/Security/Crc64.cs → Masuit.Tools.Abstractions/Security/Crc64.cs


+ 0 - 0
Masuit.Tools/Security/Encrypt.cs → Masuit.Tools.Abstractions/Security/Encrypt.cs


+ 0 - 0
Masuit.Tools/Security/HashEncode.cs → Masuit.Tools.Abstractions/Security/HashEncode.cs


+ 0 - 0
Masuit.Tools/Security/RSA.cs → Masuit.Tools.Abstractions/Security/RSA.cs


+ 24 - 46
Masuit.Tools/Security/RSACrypt.cs → Masuit.Tools.Abstractions/Security/RSACrypt.cs

@@ -6,37 +6,15 @@ using System.Text;
 namespace Masuit.Tools.Security
 namespace Masuit.Tools.Security
 {
 {
     /// <summary>
     /// <summary>
-    /// RSA密钥对
-    /// </summary>
-    public class RsaKey
-    {
-        /// <summary>
-        /// 公钥
-        /// </summary>
-        public string PublicKey { get; protected internal set; }
-
-        /// <summary>
-        /// 私钥
-        /// </summary>
-        public string PrivateKey { get; protected internal set; }
-    }
-
-    public enum RsaKeyType
-    {
-        XML,
-        PKCS1,
-        PKCS8
-    }
-
-    /// <summary> 
     /// RSA加密解密及RSA签名和验证
     /// RSA加密解密及RSA签名和验证
-    /// </summary> 
+    /// </summary>
     public static class RsaCrypt
     public static class RsaCrypt
     {
     {
         private static RsaKey RsaKey;
         private static RsaKey RsaKey;
-        #region RSA 加密解密 
 
 
-        #region RSA 的密钥产生 
+        #region RSA 加密解密
+
+        #region RSA 的密钥产生
 
 
         /// <summary>
         /// <summary>
         /// 生成 RSA 公钥和私钥
         /// 生成 RSA 公钥和私钥
@@ -68,9 +46,9 @@ namespace Masuit.Tools.Security
             };
             };
         }
         }
 
 
-        #endregion
+        #endregion RSA 的密钥产生
 
 
-        #region RSA的加密函数 
+        #region RSA的加密函数
 
 
         /// <summary>
         /// <summary>
         /// RSA的加密函数 string
         /// RSA的加密函数 string
@@ -120,9 +98,9 @@ namespace Masuit.Tools.Security
             return RSAEncrypt(encryptString, RsaKey.PublicKey);
             return RSAEncrypt(encryptString, RsaKey.PublicKey);
         }
         }
 
 
-        #endregion
+        #endregion RSA的加密函数
 
 
-        #region RSA的解密函数 
+        #region RSA的解密函数
 
 
         /// <summary>
         /// <summary>
         /// RSA的解密函数  string
         /// RSA的解密函数  string
@@ -172,13 +150,13 @@ namespace Masuit.Tools.Security
             return RSADecrypt(decryptString, RsaKey.PrivateKey);
             return RSADecrypt(decryptString, RsaKey.PrivateKey);
         }
         }
 
 
-        #endregion
+        #endregion RSA的解密函数
 
 
-        #endregion
+        #endregion RSA 加密解密
 
 
-        #region RSA数字签名 
+        #region RSA数字签名
 
 
-        #region 获取Hash描述表 
+        #region 获取Hash描述表
 
 
         /// <summary>
         /// <summary>
         /// 获取Hash描述表
         /// 获取Hash描述表
@@ -187,7 +165,7 @@ namespace Masuit.Tools.Security
         /// <returns>Hash描述表</returns>
         /// <returns>Hash描述表</returns>
         public static byte[] GetHashBytes(this string mStrSource)
         public static byte[] GetHashBytes(this string mStrSource)
         {
         {
-            //从字符串中取得Hash描述 
+            //从字符串中取得Hash描述
             using var md5 = HashAlgorithm.Create("MD5");
             using var md5 = HashAlgorithm.Create("MD5");
             var buffer = Encoding.UTF8.GetBytes(mStrSource);
             var buffer = Encoding.UTF8.GetBytes(mStrSource);
             return md5?.ComputeHash(buffer);
             return md5?.ComputeHash(buffer);
@@ -200,7 +178,7 @@ namespace Masuit.Tools.Security
         /// <returns>Hash描述表</returns>
         /// <returns>Hash描述表</returns>
         public static string GetHashString(this string mStrSource)
         public static string GetHashString(this string mStrSource)
         {
         {
-            //从字符串中取得Hash描述 
+            //从字符串中取得Hash描述
             using var md5 = HashAlgorithm.Create("MD5");
             using var md5 = HashAlgorithm.Create("MD5");
             var buffer = Encoding.UTF8.GetBytes(mStrSource);
             var buffer = Encoding.UTF8.GetBytes(mStrSource);
             var hashData = md5?.ComputeHash(buffer);
             var hashData = md5?.ComputeHash(buffer);
@@ -214,7 +192,7 @@ namespace Masuit.Tools.Security
         /// <returns>Hash描述表</returns>
         /// <returns>Hash描述表</returns>
         public static byte[] GetHashBytes(this FileStream objFile)
         public static byte[] GetHashBytes(this FileStream objFile)
         {
         {
-            //从文件中取得Hash描述 
+            //从文件中取得Hash描述
             using var md5 = HashAlgorithm.Create("MD5");
             using var md5 = HashAlgorithm.Create("MD5");
             return md5?.ComputeHash(objFile);
             return md5?.ComputeHash(objFile);
         }
         }
@@ -226,15 +204,15 @@ namespace Masuit.Tools.Security
         /// <returns>Hash描述表</returns>
         /// <returns>Hash描述表</returns>
         public static string GetHashString(this FileStream objFile)
         public static string GetHashString(this FileStream objFile)
         {
         {
-            //从文件中取得Hash描述 
+            //从文件中取得Hash描述
             using var md5 = HashAlgorithm.Create("MD5");
             using var md5 = HashAlgorithm.Create("MD5");
             var hashData = md5?.ComputeHash(objFile);
             var hashData = md5?.ComputeHash(objFile);
             return Convert.ToBase64String(hashData);
             return Convert.ToBase64String(hashData);
         }
         }
 
 
-        #endregion
+        #endregion 获取Hash描述表
 
 
-        #region RSA签名 
+        #region RSA签名
 
 
         /// <summary>
         /// <summary>
         /// RSA签名
         /// RSA签名
@@ -291,12 +269,12 @@ namespace Masuit.Tools.Security
             return rsa.Sign("MD5", mStrHashbyteSignature);
             return rsa.Sign("MD5", mStrHashbyteSignature);
         }
         }
 
 
-        #endregion
+        #endregion RSA签名
 
 
-        #region RSA 签名验证 
+        #region RSA 签名验证
 
 
         /// <summary>
         /// <summary>
-        /// RSA 签名验证 
+        /// RSA 签名验证
         /// </summary>
         /// </summary>
         /// <param name="deformatterData">反格式化字节数据</param>
         /// <param name="deformatterData">反格式化字节数据</param>
         /// <param name="publicKey">公钥</param>
         /// <param name="publicKey">公钥</param>
@@ -311,7 +289,7 @@ namespace Masuit.Tools.Security
         }
         }
 
 
         /// <summary>
         /// <summary>
-        /// RSA 签名验证 
+        /// RSA 签名验证
         /// </summary>
         /// </summary>
         /// <param name="deformatterData">反格式化字节数据</param>
         /// <param name="deformatterData">反格式化字节数据</param>
         /// <param name="publicKey">公钥</param>
         /// <param name="publicKey">公钥</param>
@@ -355,8 +333,8 @@ namespace Masuit.Tools.Security
             return rsa.Verify("MD5", Convert.FromBase64String(pStrDeformatterData), Convert.FromBase64String(pStrHashbyteDeformatter));
             return rsa.Verify("MD5", Convert.FromBase64String(pStrDeformatterData), Convert.FromBase64String(pStrHashbyteDeformatter));
         }
         }
 
 
-        #endregion
+        #endregion RSA 签名验证
 
 
-        #endregion
+        #endregion RSA数字签名
     }
     }
 }
 }

+ 18 - 0
Masuit.Tools.Abstractions/Security/RsaKey.cs

@@ -0,0 +1,18 @@
+namespace Masuit.Tools.Security
+{
+    /// <summary>
+    /// RSA密钥对
+    /// </summary>
+    public class RsaKey
+    {
+        /// <summary>
+        /// 公钥
+        /// </summary>
+        public string PublicKey { get; protected internal set; }
+
+        /// <summary>
+        /// 私钥
+        /// </summary>
+        public string PrivateKey { get; protected internal set; }
+    }
+}

+ 9 - 0
Masuit.Tools.Abstractions/Security/RsaKeyType.cs

@@ -0,0 +1,9 @@
+namespace Masuit.Tools.Security
+{
+    public enum RsaKeyType
+    {
+        XML,
+        PKCS1,
+        PKCS8
+    }
+}

Some files were not shown because too many files changed in this diff