C# Hashtable与object实体对象互转
C# Hashtable与object实体对象互转
C# Code: /// <summary> /// C# Hashtable转object实体对象 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="source"></param> /// <returns></returns> public static T Hashtable2Object<T>(Hashtable source) { T obj = Activator.CreateInstance<T>(); object tv; PropertyInfo[] ps = obj.GetType().GetProperties(System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.Public); foreach (PropertyInfo p in ps) { if (source.ContainsKey(p.Name)) { tv = source[p.Name]; if (p.PropertyType.IsArray)//数组类型,单独处理 { p.SetValue(obj, tv, null); } else { if (String.IsNullOrEmpty(tv.ToString()))//空值 tv = p.PropertyType.IsValueType ? Activator.CreateInstance(p.PropertyType) : null;//值类型 else tv = System.ComponentModel.TypeDescriptor.GetConverter(p.PropertyType).ConvertFromString(tv.ToString());//创建对象 p.SetValue(obj, tv, null); } } } return obj; } //来源:C/S框架网(www.csframework.com) QQ:23404761 C# Code: /// <summary> /// C# 实体对象Object转HashTable /// </summary> /// <typeparam name="T"></typeparam> /// <param name="obj"></param> /// <returns></returns> public Hashtable Object2Hashtable(object obj) { Hashtable hash = new Hashtable(); PropertyInfo[] ps = obj.GetType().GetProperties(System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.Public); foreach (PropertyInfo p in ps) { hash.Add(p.Name, p.GetValue(obj)); } return hash; } //来源:C/S框架网(www.csframework.com) QQ:23404761
参考文档:
动态对象ExpandoObject实现动态函数调用 C#.NET 定义动态对象dynamic以及属性和方法 C#.NET 定义动态对象dynamic以及转换JSON字符串 C# WebApi将查询字符串RequestUri.Query解析转换为Hashtable C# 使用SortedList对Hashtable排序 C# ADO.NET根据实体对象类型转换创建DataTable对象 C#对象转DataRow,主键值自动生成 Entity Framework(EF):测试DbContext.Remove方法,对象状态管理器(Object State Manager) 【原创】C# 深度拷贝对象 使用.NET反射+递归原理实现深度克隆 C# 实现对象浅拷贝Copy(极速复制对象) C#类扩展方法,字符串对象转换,常用扩展方法StringExtensions C#持久化对象为XML文件(MyXmlSerializer) C# LINQ使用Distinct方法检查对象某个属性的值是否重复 C# 动态对象转换为实体对象支持泛型(DynamicToEntity) CSFramework代码生成器根据数据库表结构生成实体对象模型(C#代码)
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 | |