// Description: C# Extension Methods | Enhance the .NET Framework and .NET Core with over 1000 extension methods.// Website & Documentation: https://csharp-extension.com/// Issues: https://github.com/zzzprojects/Z.ExtensionMethods/issues// License (MIT): https://github.com/zzzprojects/Z.ExtensionMethods/blob/master/LICENSE// More projects: https://zzzprojects.com/// Copyright ZZZ Projects Inc. All rights reserved.using System;using System.Data;using System.Reflection;public static partial class Extensions{/// <summary>/// A DataRow extension method that converts the @this to the entities./// </summary>/// <typeparam name="T">Generic type parameter.</typeparam>/// <param name="this">The @this to act on.</param>/// <returns>@this as a T.</returns>public static T ToEntity<T>(this DataRow @this) where T : new(){Type type = typeof (T);PropertyInfo[] properties = type.GetProperties(BindingFlags.Public | BindingFlags.Instance);FieldInfo[] fields = type.GetFields(BindingFlags.Public | BindingFlags.Instance);var entity = new T();foreach (PropertyInfo property in properties){if (@this.Table.Columns.Contains(property.Name)){Type valueType = property.PropertyType;property.SetValue(entity, @this[property.Name].To(valueType), null);}}foreach (FieldInfo field in fields){if (@this.Table.Columns.Contains(field.Name)){Type valueType = field.FieldType;field.SetValue(entity, @this[field.Name].To(valueType));}}return entity;}}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。