zoukankan      html  css  js  c++  java
  • C# 通过反射为一个对象赋值

    /// <summary>
       /// 反射赋值
       /// </summary>
       public class ObjectReflection
       {
           public static PropertyInfo[] GetPropertyInfos(Type type)
           {
               return type.GetProperties(BindingFlags.Public | BindingFlags.Instance);
           }
           /// <summary>
           /// 实体属性反射
           /// </summary>
           /// <typeparam name="S">赋值对象</typeparam>
           /// <typeparam name="T">被赋值对象</typeparam>
           /// <param name="s"></param>
           /// <param name="t"></param>
           public static void AutoMapping<S, T>(S s, T t)
           {
               PropertyInfo[] pps = GetPropertyInfos(s.GetType());
               Type target = t.GetType();

               foreach (var pp in pps)
               {
                   PropertyInfo targetPP = target.GetProperty(pp.Name);
                   object value = pp.GetValue(s, null);

                   if (targetPP != null && value != null)
                   {
                       targetPP.SetValue(t, value, null);
                   }
               }
           }
       }
    用法  ObjectReflection.AutoMapping(model, vmModel);

    这里将model属性的值赋值给了具体相同属性名称的vmModel。

  • 相关阅读:
    Bootstrap的下拉菜单float问题
    style标签进行实时编辑及修改css(转)
    立即调用的函数表达式IIFE
    标签球Js插件
    如何正确使用Google搜索
    练习一:四则运算
    ARM伪指令
    vim 命令总结
    dialog BLE SDK 学习(1)
    ARM指令集
  • 原文地址:https://www.cnblogs.com/hedianzhan/p/8990211.html
Copyright © 2011-2022 走看看