using System; using System.Reflection; using System.Xml; namespace HMI.Core.Util { public class BeanUtil { public static void Copy(S source, T target) { Type sourceType = typeof(S); Type targetType = typeof(T); PropertyInfo[] fieldArray = targetType.GetProperties(BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public); foreach (PropertyInfo field in fieldArray) { string fileName = field.Name; PropertyInfo sourceField = sourceType.GetProperty(fileName); if (sourceField == null) continue; field.SetValue(target, sourceField.GetValue(source)); } } } }