public static D Mapper<D, S>(S s) { D d = Activator.CreateInstance<D>(); try { var sType = s.GetType(); var dType = typeof(D); foreach (PRopertyInfo sP in sType.GetProperties()) { foreach (PropertyInfo dP in dType.GetProperties()) { if (dP.Name == sP.Name) { dP.SetValue(d, sP.GetValue(s, null), null); break; } } } } catch (Exception ex) { } return d; }使用方法:
WORKFLOWTASK w1 = new WORKFLOWTASK(); ServiceReference2.WORKFLOWTASK w2 = lst1[i]; w1 = ipMSService.Mapper<WORKFLOWTASK, ServiceReference2.WORKFLOWTASK>(w2); lst.Add(w1);主要是将两个具有相同结构的类进行一一对应赋值。
新闻热点
疑难解答