瀏覽代碼

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

xf 11 月之前
父節點
當前提交
96914832c3
共有 2 個文件被更改,包括 14 次插入1 次删除
  1. 1 1
      src/Hotline/Tools/DynamicClassHelper.cs
  2. 13 0
      src/XF.Domain/Extensions/StringExtensions.cs

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

@@ -19,7 +19,7 @@ public class DynamicClassHelper
 
 
         foreach (var property in propInfos)
         foreach (var property in propInfos)
         {
         {
-            var propertyName = property.Prop.Trim().Replace(".", "").UpperFirstChar();
+            var propertyName = property.Prop.Trim().Replace(".", "").ToPascalCase();
             var propertyType = typeof(string);
             var propertyType = typeof(string);
 
 
             FieldBuilder fieldBuilder = typeBuilder.DefineField("_" + propertyName, propertyType, FieldAttributes.Private);
             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);
             str = str.Remove(0, 1);
             return str.Insert(0,firstChar.ToString());
             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();
+        }
     }
     }
 }
 }