1、 TypeDescriptor类:通过反射获取对象的属性列表,通过GetValue(),SetValue()进行属性赋值。好处:自动匹配相同的属性名进行赋值,不需要硬编码指定属性名。 /// <summary> /// 将来源对象的属性值复制到目的对象的对应属性。【规则:属性名相同。属性类型相同】 /// </summary> private void CopyPropertyValue(object Source, object Dest) { PropertyDescriptorCollection SourceProps = TypeDescriptor.GetProperties(Source); PropertyDescriptorCollection DestProps = TypeDescriptor.GetProperties(Dest); foreach(PropertyDescriptor sp in SourceProps) { PropertyDescriptor dp = DestProps[sp.Name]; if(dp != null && dp.PropertyType.Equals(sp.PropertyType)) { dp.SetValue(Dest, sp.GetValue(Source)); } } }