zoukankan      html  css  js  c++  java
  • C# 获取对象值,不获取地址

    /// <summary>
    /// 使用反射将一个对象的值赋值给另一个对象
    /// </summary>
    /// <param name="obj">原对象</param>
    /// <param name="newobj">新的对象</param>
    /// <returns></returns>
    public static T CopyToT<T>(object obj,object newobj)
    {
    T t = default(T);
    if (newobj==null)
    {
    return t;
    }
    t = (T) newobj;
    if (obj == null)
    {
    return t;
    }

    PropertyInfo[] propertyInfos = obj.GetType().GetProperties();//得到原对象所有属性
    Type ty = t.GetType();
    if (propertyInfos.Length < 0)
    {
    return t;
    }
    foreach (PropertyInfo pi in propertyInfos)//循环对象属性
    {
    string name = pi.Name;
    object value = pi.GetValue(obj, null);
    BindingFlags flag = BindingFlags.Public | BindingFlags.IgnoreCase | BindingFlags.Instance;//忽略属性名称大小写
    var p = ty.GetProperty(name, flag);//根据原对象属性名称得到新对象属性
    if (p != null)
    {
    p.SetValue(t,value,null);//赋值
    }
    }
    return t;
    }

    使用方法:

    GoodsSpec goodsSpec = new GoodsSpec();
    goodsSpec = PosApi.CopyToT<GoodsSpec>(button.Tag,new GoodsSpec());

    注:PosApi为类名,button.Tag为需要赋值的对象

    转自:https://www.cnblogs.com/janeaiai/p/6566800.html

  • 相关阅读:
    批处理
    命名规则
    注释
    HTML DOM属性
    OLTP
    修改HTML元素
    HTML
    工具资源系列之给虚拟机装个centos
    工具资源系列之给虚拟机装个windows
    工具资源系列之给mac装个虚拟机
  • 原文地址:https://www.cnblogs.com/MycnBlogs7854/p/14541614.html
Copyright © 2011-2022 走看看