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                 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM