zoukankan      html  css  js  c++  java
  • C#通过反射获取相应的字段和值

    代码比较简单,只作为简单的例子参考

    首先先看运行的代码:

     class Program
        {
            static void Main(string[] args)
            {
                UserInfo userInfo = new UserInfo();
                userInfo.ID = 1;
                userInfo.Name = "bailey";
                userInfo.CreateDate = DateTime.Now;
                userInfo.Number = Convert.ToDecimal(456.6467);
    
                string values = string.Empty;
                foreach (System.Reflection.PropertyInfo p in userInfo.GetType().GetProperties())
                {
                    if (p.PropertyType == typeof(string))
                    {
                        values += string.Format("{0}='{1}', ", p.Name, p.GetValue(userInfo));
                    }
                    if (p.PropertyType == typeof(int)|| p.PropertyType == typeof(uint))
                    {
                        values += string.Format("{0}={1},", p.Name, p.GetValue(userInfo));
                    }
                    if (p.PropertyType == typeof(DateTime))
                    {
                        values += string.Format("{0}='{1}', ", p.Name, p.GetValue(userInfo));
                    }
                    if (p.PropertyType == typeof(decimal) || p.PropertyType == typeof(double)|| p.PropertyType == typeof(float))
                    {
                        values += string.Format("{0}={1}, ", p.Name, p.GetValue(userInfo));
                    }
                   
                    if (p.PropertyType == typeof(bool))
                    {
                        values += string.Format("{0}={1}, ", p.Name, p.GetValue(userInfo));
                    }
                    if (p.PropertyType == typeof(sbyte))
                    {
                        values += string.Format("{0}={1}, ", p.Name, p.GetValue(userInfo));
                    }
                    if (p.PropertyType == typeof(byte) || p.PropertyType == typeof(short) || p.PropertyType == typeof(ushort) )
                    {
                        values += string.Format("{0}={1}, ", p.Name, p.GetValue(userInfo));
                    }
                    if (p.PropertyType == typeof(long) || p.PropertyType == typeof(ulong))
                    {
                        values += string.Format("{0}={1}, ", p.Name, p.GetValue(userInfo));
                    }
    
                    // values +=string.Format( "{0}={1},", p.Name, p.GetValue(userInfo));
                    // Console.WriteLine("Name:{0} Value:{1}", p.Name, p.GetValue(userInfo));
                }
                Console.WriteLine(values);
                Console.ReadLine();
            }
    
        }

    再看对象:

     class UserInfo {
            public int ID { get; set; }
            public string Name { get; set; }
            public DateTime? CreateDate { get; set; }
            public decimal? Number { get; set; }
            public bool IsUse { get; set; }
        }
  • 相关阅读:
    项目中看似很难的问题可能很简单
    ASP.NET数据列表“全选”,批量处理的JS实现
    [转]给网站增加如:flv,torrent等特殊后缀格式文件下载
    GD Graphics Library
    在VS2008中编译64位程序以及遇到的问题
    关于C#闭包
    SNMP协议介绍及SNMP library
    ASP.NET MVC 使用总结(二)——扩展HtmlHelper实现动态生成title及meta
    LINQ查询代码整理(一)
    使用方便的SDK帮助文档
  • 原文地址:https://www.cnblogs.com/bmyblogs/p/9346843.html
Copyright © 2011-2022 走看看