zoukankan      html  css  js  c++  java
  • Code-Convert:public static void LoadModel<T>(T model, Hashtable ht)

    ylbtech-Code-Convert:public static void LoadModel<T>(T model, Hashtable ht)
    1.返回顶部
    1、
    using System;
    using System.Collections;
    
    namespace Sp.Common
    {
        public class ConvertHelper
        {
            public static void LoadModel<T>(T model, Hashtable ht)
            {
                try
                {
                    if (model == null) { model = default(T); }
                    Type t = typeof(T);
                    System.Reflection.PropertyInfo[] pros = t.GetProperties();
                    foreach (var pro in pros)
                    {
                        if (ht.ContainsKey(pro.Name) && null != ht[pro.Name])
                        {
                            if (pro.PropertyType.Name == "String" && (ht[pro.Name].GetType().Name == "JArray" || ht[pro.Name].GetType().Name == "JObject"))
                                ht[pro.Name] = Newtonsoft.Json.JsonConvert.SerializeObject(ht[pro.Name]);
    
                            if (pro.PropertyType.IsGenericType && pro.PropertyType.GetGenericTypeDefinition() == typeof(Nullable<>))
                                pro.SetValue(model, Convert.ChangeType(ht[pro.Name], Nullable.GetUnderlyingType(pro.PropertyType)), null);
                            else if (pro.PropertyType.IsArray)
                            {
                                //pro.SetValue(model,Convert.ChangeType(
                            }
                            else
                                pro.SetValue(model, Convert.ChangeType(ht[pro.Name], pro.PropertyType), null);
                        }
                    }
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
        }
    }
    2、
    2. 实例返回顶部
    1、
    using System;
    using System.Collections;
    using Sp.Common;
    
    namespace ConsoleSpLabs
    {
        class Program
        {
            static void Main(string[] args)
            {
                Hashtable hashtable = new Hashtable();
                hashtable["Id"] = 101;
                hashtable["Name"] = "Whale";
    
                Animal dal = new Animal();
                ConvertHelper.LoadModel(dal, hashtable);
    
                Console.WriteLine("Animal.ID={0},Animal.Name={1}", dal.Id, dal.Name);
                Console.Read();
            }
        }
    
        public class Animal
        {
            public int Id { get; set; }
            public string Name { get; set; }
        }
    }
    2、
    3.返回顶部
     
    4.返回顶部
     
    5.返回顶部
     
     
    6.返回顶部
     
    warn 作者:ylbtech
    出处:http://ylbtech.cnblogs.com/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    数据库管理 trove openstack
    Vmware 给虚拟机传脚本并执行
    Vmware 控制脚本
    python 脚本之 IP地址探测
    python 模块之-ffmpeg 中文参数对照表
    VMware ezmomi工具使用
    VS编译器从DLL导出模板类
    Qt5+VS2012编程
    Visual Studio 2012优化
    计算几何
  • 原文地址:https://www.cnblogs.com/storebook/p/12684480.html
Copyright © 2011-2022 走看看