Here's a snippet from DictionaryDataExchange: public override object GetData(ParameterProperty mapping, object parameterObject) { return ObjectProbe.GetMemberValue(parameterObject, mapping.PropertyName, DataExchangeFactory.AccessorFactory); }
public override void SetData(ref object target, ResultProperty mapping, object dataBaseValue) { ((IDictionary) target).Add(mapping.PropertyName, dataBaseValue); } public override void SetData(ref object target, ParameterProperty mapping, object dataBaseValue) { ObjectProbe.SetMemberValue(target, mapping.PropertyName, dataBaseValue, DataExchangeFactory.ObjectFactory, DataExchangeFactory.AccessorFactory); } Since we know we're working with an IDictionary object can we bypass ObjectProbe and get the value directly from the object similiar to how one of the SetData members already does? public override object GetData(ParameterProperty mapping, object parameterObject) { return ((IDictionary)parameterObject)[mapping.PropertyName]; } public override void SetData(ref object target, ParameterProperty mapping, object dataBaseValue) { ((IDictionary)target)[mapping.PropertyName] = dataBaseValue; }