Browse Source

mod: CreateDynamicClass 首字符大写改为转为pascal命名法

xf 11 tháng trước cách đây
mục cha
commit
96914832c3

+ 1 - 1
src/Hotline/Tools/DynamicClassHelper.cs

@@ -19,7 +19,7 @@ public class DynamicClassHelper
 
         foreach (var property in propInfos)
         {
-            var propertyName = property.Prop.Trim().Replace(".", "").UpperFirstChar();
+            var propertyName = property.Prop.Trim().Replace(".", "").ToPascalCase();
             var propertyType = typeof(string);
 
             FieldBuilder fieldBuilder = typeBuilder.DefineField("_" + propertyName, propertyType, FieldAttributes.Private);

+ 13 - 0
src/XF.Domain/Extensions/StringExtensions.cs

@@ -41,5 +41,18 @@ namespace XF.Domain.Extensions
             str = str.Remove(0, 1);
             return str.Insert(0,firstChar.ToString());
         }
+
+        public static string ToPascalCase(this string str)
+        {
+            if (string.IsNullOrEmpty(str))
+                throw new ArgumentNullException(nameof(str));
+            var array = str.Split('.', StringSplitOptions.TrimEntries);
+            var sb = new StringBuilder();
+            foreach (var item in array)
+            {
+                sb.Append(item.UpperFirstChar());
+            }
+            return sb.ToString();
+        }
     }
 }