private void LoopThroughProperties(string pathToContainer, IComparableObject before, IComparableObject after, List<Difference> differences, List<AttributeChange> attributeChanges) { var propertyInfos = before.GetType().GetProperties(BindingFlags.Instance | BindingFlags.Public); foreach (var propertyInfo in propertyInfos) { PropertyInfo info = propertyInfo; CompareOne(x => info.GetValue(x, null), pathToContainer, before, after, differences, attributeChanges, propertyInfo.Name); } }
private void LoopThroughFields(string pathToContainer, IComparableObject before, IComparableObject after, List<Difference> differences, List<AttributeChange> attributeChanges) { var fieldInfos = before.GetType().GetFields(BindingFlags.Instance | BindingFlags.Public); foreach (var fieldInfo in fieldInfos) { FieldInfo info = fieldInfo; CompareOne(x => info.GetValue(x), pathToContainer, before, after, differences, attributeChanges, fieldInfo.Name); } }