>public class ReportColumn >{ > public string ColumnName { get; set; } > public object OriginalValue { get; set; } > public object ChangedValue { get; set; } > public bool IsChanged { get; private set; } > > public void SetIsChanged() > { > IsChanged = false; > > PropertyInfo[] sourceProperties = OriginalValue.GetType().GetProperties(); > foreach (PropertyInfo pi in sourceProperties) > { > object originalProperty = OriginalValue.GetType().GetProperty(pi.Name).GetValue(this, null); > object changedProperty = ChangedValue.GetType().GetProperty(pi.Name).GetValue(comparisonObject, null); > > IsChanged = (originalProperty != changedProperty); > > if (IsChanged) > { > break; > } > } > } >} > >>