懒得勤快 6 lat temu
rodzic
commit
8f22e3cc3b

+ 3 - 3
Masuit.Tools.Core/AspNetCore/Extensions/ControllerExtensions.cs

@@ -58,7 +58,7 @@ namespace Masuit.Tools.AspNetCore.ResumeFileResults.Extensions
         /// <param name="fileStream">文件二进制流</param>
         /// <param name="contentType">Content-Type</param>
         /// <returns></returns>
-        public static ResumeFileStreamResult ResumeFile(this ControllerBase controller, Stream fileStream, string contentType)
+        public static ResumeFileStreamResult ResumeFile(this ControllerBase controller, FileStream fileStream, string contentType)
         {
             return ResumeFile(controller, fileStream, contentType, fileDownloadName: null);
         }
@@ -71,7 +71,7 @@ namespace Masuit.Tools.AspNetCore.ResumeFileResults.Extensions
         /// <param name="contentType">Content-Type</param>
         /// <param name="fileDownloadName">下载的文件名</param>
         /// <returns></returns>
-        public static ResumeFileStreamResult ResumeFile(this ControllerBase controller, Stream fileStream, string contentType, string fileDownloadName)
+        public static ResumeFileStreamResult ResumeFile(this ControllerBase controller, FileStream fileStream, string contentType, string fileDownloadName)
         {
             return ResumeFile(controller, fileStream, contentType, fileDownloadName, etag: null);
         }
@@ -85,7 +85,7 @@ namespace Masuit.Tools.AspNetCore.ResumeFileResults.Extensions
         /// <param name="fileDownloadName">下载的文件名</param>
         /// <param name="etag">ETag</param>
         /// <returns></returns>
-        public static ResumeFileStreamResult ResumeFile(this ControllerBase controller, Stream fileStream, string contentType, string fileDownloadName, string etag)
+        public static ResumeFileStreamResult ResumeFile(this ControllerBase controller, FileStream fileStream, string contentType, string fileDownloadName, string etag)
         {
             return new ResumeFileStreamResult(fileStream, contentType, etag)
             {

+ 2 - 2
Masuit.Tools.Core/AspNetCore/ResumeFileResult/ResumeFileStreamResult.cs

@@ -19,7 +19,7 @@ namespace Masuit.Tools.AspNetCore.ResumeFileResults.ResumeFileResult
         /// <param name="fileStream">文件流</param>
         /// <param name="contentType">Content-Type</param>
         /// <param name="etag">ETag</param>
-        public ResumeFileStreamResult(Stream fileStream, string contentType, string etag = null) : this(fileStream, MediaTypeHeaderValue.Parse(contentType), !string.IsNullOrEmpty(etag) ? EntityTagHeaderValue.Parse(etag) : null)
+        public ResumeFileStreamResult(FileStream fileStream, string contentType, string etag = null) : this(fileStream, MediaTypeHeaderValue.Parse(contentType), !string.IsNullOrEmpty(etag) ? EntityTagHeaderValue.Parse(etag) : null)
         {
         }
 
@@ -29,7 +29,7 @@ namespace Masuit.Tools.AspNetCore.ResumeFileResults.ResumeFileResult
         /// <param name="fileStream">文件流</param>
         /// <param name="contentType">Content-Type</param>
         /// <param name="etag">ETag</param>
-        public ResumeFileStreamResult(Stream fileStream, MediaTypeHeaderValue contentType, EntityTagHeaderValue etag = null) : base(fileStream, contentType)
+        public ResumeFileStreamResult(FileStream fileStream, MediaTypeHeaderValue contentType, EntityTagHeaderValue etag = null) : base(fileStream, contentType)
         {
             EntityTag = etag;
             EnableRangeProcessing = true;

+ 5 - 0
Masuit.Tools.Core/Mapping/ExpressionGenericMapper.cs

@@ -8,6 +8,11 @@ using System.Reflection;
 
 namespace Masuit.Tools.Mapping
 {
+    /// <summary>
+    /// 表达式树实体映射器
+    /// </summary>
+    /// <typeparam name="TSource"></typeparam>
+    /// <typeparam name="TDest"></typeparam>
     public static class ExpressionGenericMapper<TSource, TDest> where TSource : class where TDest : class
     {
         // 缓存委托

+ 4 - 1
Masuit.Tools.Core/Mapping/MapClass.cs

@@ -2,6 +2,9 @@
 
 namespace Masuit.Tools.Mapping
 {
+    /// <summary>
+    /// 映射操作类
+    /// </summary>
     public static class MapClass
     {
         /// <summary>
@@ -32,6 +35,6 @@ namespace Masuit.Tools.Mapping
         /// <param name="source"></param>
         /// <returns></returns>
         public static TSource Copy<TSource>(this TSource source) where TSource : class => ExpressionGenericMapper<TSource, TSource>.Copy(source);
-        
+
     }
 }

+ 1 - 1
Masuit.Tools.Core/Masuit.Tools.Core.csproj

@@ -2,7 +2,7 @@
 
   <PropertyGroup>
     <TargetFramework>netcoreapp2.1</TargetFramework>
-    <Version>2.2.2</Version>
+    <Version>2.2.2.1</Version>
     <Authors>懒得勤快</Authors>
     <Company>masuit.com</Company>
     <Description>包含一些常用的操作类,大都是静态类,加密解密,反射操作,硬件信息,字符串扩展方法,日期时间扩展操作,大文件拷贝,图像裁剪,html处理,验证码、NoSql等常用封装。

+ 14 - 27
Masuit.Tools.Core/Reflection/ClassHelper.cs

@@ -69,10 +69,10 @@ namespace Masuit.Tools.Reflection
                 Name = "MyDynamicAssembly"
             };
 
-            //创建一个永久程序集,设置为AssemblyBuilderAccess.RunAndSave
+            //创建一个程序集,设置为AssemblyBuilderAccess.RunAndCollect
             AssemblyBuilder myAsmBuilder = AssemblyBuilder.DefineDynamicAssembly(myAsmName, AssemblyBuilderAccess.RunAndCollect);
 
-            //创建一个永久单模程序块。  
+            //创建一个单模程序块。  
             ModuleBuilder myModBuilder = myAsmBuilder.DefineDynamicModule(myAsmName.Name);
             //创建TypeBuilder。  
             TypeBuilder myTypeBuilder = myModBuilder.DefineType(className, TypeAttributes.Public);
@@ -85,7 +85,7 @@ namespace Masuit.Tools.Reflection
             return retval;
         }
 
-        ///<summary>  
+        /// <summary>  
         /// 添加属性到类型的实例,注意:该操作会将其它成员清除掉,其功能有待完善。  
         /// </summary>  
         /// <param name="classType">指定类型的实例。</param>  
@@ -133,12 +133,10 @@ namespace Masuit.Tools.Reflection
             {
                 dest.SetProperty(originProperty.Name, originProperty.GetValue(obj));
             }
-
             foreach (var cpi in customs)
             {
                 dest.SetProperty(cpi.Key, cpi.Value);
             }
-
             return dest;
         }
 
@@ -150,10 +148,7 @@ namespace Masuit.Tools.Reflection
         /// <returns></returns>
         public static object AddProperty(this object obj, CustPropertyInfo cpi)
         {
-            return AddProperty(obj, new List<CustPropertyInfo>()
-            {
-                cpi
-            });
+            return AddProperty(obj, new List<CustPropertyInfo>() { cpi });
         }
 
         /// <summary>
@@ -216,13 +211,11 @@ namespace Masuit.Tools.Reflection
             {
                 t = t.DeleteProperty(p);
             }
-
             var newInstance = t.CreateInstance();
             foreach (var p in newInstance.GetProperties())
             {
                 newInstance.SetProperty(p.Name, oldProperties.FirstOrDefault(i => i.Name.Equals(p.Name)).GetValue(obj));
             }
-
             return newInstance;
         }
 
@@ -234,12 +227,8 @@ namespace Masuit.Tools.Reflection
         /// <returns></returns>
         public static object DeleteProperty(this object obj, string property)
         {
-            return DeleteProperty(obj, new List<string>()
-            {
-                property
-            });
+            return DeleteProperty(obj, new List<string>() { property });
         }
-
         #endregion
 
         #region 私有方法  
@@ -298,6 +287,7 @@ namespace Masuit.Tools.Reflection
             {
                 //定义字段。  
                 FieldBuilder customerNameBldr = myTypeBuilder.DefineField(cpi.FieldName, cpi.Type, FieldAttributes.Private);
+
                 //customerNameBldr.SetConstant("11111111");
                 //定义属性。  
                 //最后一个参数为null,因为属性没有参数。  
@@ -354,10 +344,10 @@ namespace Masuit.Tools.Reflection
                 Name = "MyDynamicAssembly"
             };
 
-            //创建一个永久程序集,设置为AssemblyBuilderAccess.RunAndCollect。  
+            //创建一个程序集,设置为AssemblyBuilderAccess.RunAndCollect。  
             AssemblyBuilder myAsmBuilder = AssemblyBuilder.DefineDynamicAssembly(myAsmName, AssemblyBuilderAccess.RunAndCollect);
 
-            //创建一个永久单模程序块。  
+            //创建一个单模程序块。  
             ModuleBuilder myModBuilder = myAsmBuilder.DefineDynamicModule(myAsmName.Name);
             //创建TypeBuilder。  
             // ReSharper disable once AssignNullToNotNullAttribute
@@ -401,6 +391,12 @@ namespace Masuit.Tools.Reflection
                 PropertyName = propertyName;
             }
 
+            /// <summary>
+            /// 根据属性类型名称,属性名称构造实例,并设置属性值。
+            /// </summary>
+            /// <param name="type"></param>
+            /// <param name="propertyName"></param>
+            /// <param name="propertyValue"></param>
             public CustPropertyInfo(Type type, string propertyName, object propertyValue) : this(type, propertyName)
             {
                 PropertyValue = propertyValue;
@@ -451,13 +447,4 @@ namespace Masuit.Tools.Reflection
 
         #endregion
     }
-
-    [Serializable]
-    internal enum StackCrawlMark
-    {
-        LookForMe,
-        LookForMyCaller,
-        LookForMyCallersCaller,
-        LookForThread,
-    }
 }

+ 5 - 0
Masuit.Tools/Mapping/ExpressionGenericMapper.cs

@@ -8,6 +8,11 @@ using System.Reflection;
 
 namespace Masuit.Tools.Mapping
 {
+    /// <summary>
+    /// 表达式树实体映射器
+    /// </summary>
+    /// <typeparam name="TSource"></typeparam>
+    /// <typeparam name="TDest"></typeparam>
     public static class ExpressionGenericMapper<TSource, TDest> where TSource : class where TDest : class
     {
         // 缓存委托

+ 4 - 1
Masuit.Tools/Mapping/MapClass.cs

@@ -2,6 +2,9 @@
 
 namespace Masuit.Tools.Mapping
 {
+    /// <summary>
+    /// 映射操作类
+    /// </summary>
     public static class MapClass
     {
         /// <summary>
@@ -32,6 +35,6 @@ namespace Masuit.Tools.Mapping
         /// <param name="source"></param>
         /// <returns></returns>
         public static TSource Copy<TSource>(this TSource source) where TSource : class => ExpressionGenericMapper<TSource, TSource>.Copy(source);
-        
+
     }
 }

+ 6 - 0
Masuit.Tools/Reflection/ClassHelper.cs

@@ -391,6 +391,12 @@ namespace Masuit.Tools.Reflection
                 PropertyName = propertyName;
             }
 
+            /// <summary>
+            /// 根据属性类型名称,属性名称构造实例,并设置属性值。
+            /// </summary>
+            /// <param name="type"></param>
+            /// <param name="propertyName"></param>
+            /// <param name="propertyValue"></param>
             public CustPropertyInfo(Type type, string propertyName, object propertyValue) : this(type, propertyName)
             {
                 PropertyValue = propertyValue;