• C# 匿名对象随笔


      

     

    C#中匿名对象的一般写法是这样的:

    object o=new {Name="TestName"};


    有时候我们会尝试从这个匿名对象中获取值,在使用中发现例如已知类型的对象如T model,

    下面的代码是没有问题的:

               object value = null;
                Type objType = typeof(T);
                var propertInfo = objType.GetProperty(propertyName);
                if (propertInfo != null)
                {
                    value = propertInfo.GetValue(model, null);
                }

    但是对于匿名对象,该代码失效,原因就在于匿名对象没有自己具体的类型,所有typeof取到
    的类型里将会找不到该属性(Name),因为无法获取他的值。更为普遍的兼容做法是使用实例

    的GetType()方法:

               object value = null;
                Type objType = model.GetType();
                var propertInfo = objType.GetProperty(propertyName);
                if (propertInfo != null)
                {
                    value = propertInfo.GetValue(model, null);
                }

    这样,不管是匿名对象还是自定义(已知类型)对象的属性值都可以获取到了。

  • 相关阅读:
    自己搭建一个vue项目
    nodejs 后台开发入门
    bootstrap table入门例子
    datatable入门
    猜数字案例
    Cookie
    管理系统案例
    PHP操作数据库(以MySQL为例)
    数据库(以MySQL为例)
    案例:音乐列表
  • 原文地址:https://www.cnblogs.com/denghejun/p/3745484.html
Copyright © 2020-2023  润新知