• dynamic取属性及添加属性


    C#获取dynamic(动态)实体的属性值

    List<student> item= conn.Query<student>($"select * from 表  where id=123 ").ToList();
        foreach (System.Reflection.PropertyInfo p in item.GetType().GetProperties())
                    {
                        Console.WriteLine(p.Name+ " :"+p.GetValue(item, null));
                    }
         
        class student{
        public string id{get;set;}
        public string name{get;set;}
        public string sex{get;set;}
        }

    当我们需要遍历动态一个实体想要知道某个字段有没有值时,我们可以这样来写

    List<dynamic> result = conn.Query($"select * from 表 where id='123'").ToList();
                foreach (KeyValuePair<string, object> col in result[0])
                {
                    string aa = col.Key;//属性
                    string bb = col.Value.ToString();//
                    if (!string.IsNullOrWhiteSpace(col.Value.ToString()))
                    {
    
                    }
                }

    dynamic集合动态添加属性

    List<dynamic> list = conn.Query(srhsql, p).ToList(); //查出数据
     List<dynamic> tmp = new List<dynamic>();
     foreach (var row in list)
    {
                            dynamic info = new System.Dynamic.ExpandoObject();
                            var dic = (IDictionary<string, object>)info;
                            foreach (KeyValuePair<string, object> col in row)
                            {
                                dic.Add(col);
                            }
                            dic.Add("名称", "");
                            tmp.Add(info);
                        }
                        list = tmp;}

    原文链接:

    https://www.cnblogs.com/leebokeyuan/p/14128860.html

    https://blog.csdn.net/qq_39569480/article/details/104480012

    C#获取dynamic(动态)实体的属性值

    此随笔或为自己所写、或为转载于网络。仅用于个人收集及备忘。

  • 相关阅读:
    Map小记
    一些Demo链接
    iOS小技巧
    更改AlertView背景
    UIlabel多行文字自动换行 (自动折行)
    设计模式-观察者模式 发布/订阅模式
    设计模式-策略模式
    设计模式-结构型模式-装饰模式
    设计模式-行为型模式-责任链模式
    设计模式-行为型模式-命令模式
  • 原文地址:https://www.cnblogs.com/shy1766IT/p/14511911.html
Copyright © 2020-2023  润新知