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/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    HTML转义字符
    网站项目开发经验总结
    SQL SERVER事务处理
    5种方法在mac系统修改hosts文件
    用MPMoviePlayerController做在线音乐播放
    UISearchBar的使用心得
    10 个免费的 C/C++ 集成开发环境
    TableView有些属性的修改只能在init里面
    UIScrollView的正确使用方法
    设置UIView阴影shadow 边框 边框颜色
  • 原文地址:https://www.cnblogs.com/storebook/p/12684480.html
Copyright © 2011-2022 走看看