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 }