>>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; >> } >> } >> } >>} >> >>>>