From fbc6fae6c793220d0b67ac603ce9bbf22837de79 Mon Sep 17 00:00:00 2001 From: dengjunjie <dengjunjie@hnkhzn.com> Date: 星期四, 19 六月 2025 17:50:47 +0800 Subject: [PATCH] 1 --- 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Core/Helper/ObjectExtension.cs | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 44 insertions(+), 0 deletions(-) diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Core/Helper/ObjectExtension.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Core/Helper/ObjectExtension.cs" new file mode 100644 index 0000000..16a91cf --- /dev/null +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Core/Helper/ObjectExtension.cs" @@ -0,0 +1,44 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using System.Text; +using System.Threading.Tasks; + +namespace WIDESEA_Core.Helper +{ + public static class ObjectExtension + { + public static List<T> DicToIEnumerable<T>(this List<Dictionary<string, object>> dicList) + { + List<T> list = new List<T>(); + foreach (Dictionary<string, object> dic in dicList) + { + list.Add(dic.DicToModel<T>()); + } + return list; + } + + public static T DicToModel<T>(this Dictionary<string, object> dic) + { + T model = Activator.CreateInstance<T>(); + PropertyInfo[] propertyInfos = typeof(T).GetProperties(BindingFlags.GetProperty | BindingFlags.Public | BindingFlags.Instance); + foreach (var property in propertyInfos) + { + object value = null; + if (!dic.TryGetValue(property.Name, out value)) + { + if (!dic.TryGetValue(property.Name.FirstLetterToUpper(), out value)) + { + if (!dic.TryGetValue(property.Name.FirstLetterToLower(), out value)) + { + continue; + } + } + }; + property.SetValue(model, value?.ToString().ChangeType(property.PropertyType)); + } + return model; + } + } +} -- Gitblit v1.9.3