public void Copy(IEnum from, IEnum to) { var properties = from.GetType().GetProperties(); foreach (var property in properties) { var value = property.GetValue(from, null); if (property.CanWrite) property.SetValue(to, value, null); } }