• c# 类名不同,字段相同,如何快速给类赋值


    1,相关的两个类如下:现在我们知道短信的值,如何给微信来赋值呢,需要用到我们的反射,当然字段一一赋值也可以,但是如果字段有100个,这个方法就不行啦

        /// <summary>
        /// 短信
        /// </summary>
        public class DuanXin
        {
            public string RECEIVE_Number { get; set; }
            public string RECEIVE_LOGIN_NAME { get; set; }
            public string RECEIVE_PERSON_NAME { get; set; }
        }
        /// <summary>
        /// 微信
        /// </summary>
        public class WeChat
        {
            public string RECEIVE_Number { get; set; }
            public string RECEIVE_LOGIN_NAME { get; set; }
            public string RECEIVE_PERSON_NAME { get; set; }
        }
    

      

    下面是解决办法

     1  //解决问题,两个类字段相同,但是类名不一样,如何进行赋值,通过反射进行逐一字段读取然后赋值
     2                 var DuanXinType = new DuanXin();
     3                 DuanXinType.RECEIVE_LOGIN_NAME = "huchao";
     4                 DuanXinType.RECEIVE_Number = "15897654321";
     5                 var typeduanxin = typeof(DuanXin);
     6                 var PropertyInfoDuanxin = typeduanxin.GetProperties();
     7                 WeChat pWeChat = new WeChat();
     8                 var typeWeChat = typeof(WeChat);
     9                 var PropertyInfosWeChat = typeWeChat.GetProperties();
    10                 foreach (var itemduanxin in PropertyInfoDuanxin)
    11                 {
    12                     var objDuanXinType = itemduanxin.GetValue(DuanXinType);
    13                     foreach (var itemWeChat in PropertyInfosWeChat)
    14                     {
    15                         if (itemduanxin.Name == itemWeChat.Name)
    16                         {
    17                             itemWeChat.SetValue(pWeChat, objDuanXinType, null);
    18                         }
    19                     }
    20                 }
  • 相关阅读:
    python执行线程方法
    Python 多线程教程:并发与并行
    python中遍历文件的3个方法
    docker-compose编写(英文)
    使用Docker构建redis集群--最靠谱的版本
    iptables四个表与五个链间的处理关系
    Docker相关文档
    HTTP 之 Content-Type
    Python之VSCode
    自定义分页
  • 原文地址:https://www.cnblogs.com/huchaoheng/p/8358670.html
Copyright © 2020-2023  润新知