private void AssignValue(object target, MemberInfo member, object value, WorkingMemberType mType) { if (mType == WorkingMemberType.property) { (member as PropertyInfo).SetValue(target, value); } else if (mType == WorkingMemberType.field) { (member as FieldInfo).SetValue(target, value); } }
private void FillPropertyOrField(object target, MemberInfo member, Type ObjectType, WorkingMemberType mType) { var key = (target.GetType(), member); if (config != null && config.SettingsDict.ContainsKey(key)) { object SubObject = InvokeConfigGeneration(key); AssignValue(target, member, SubObject, mType); return; } if (isDTO(ObjectType)) { object SubObject = null; if (dodger.CanRecurse(ObjectType)) { SubObject = CreateByType(ObjectType); } AssignValue(target, member, SubObject, mType); return; } if (isGenericList(ObjectType)) { var ListObject = new ListGenerator(this, ObjectType).Generate(); AssignValue(target, member, ListObject, mType); return; } if (generators.ContainsKey(ObjectType)) { object value = generators[ObjectType].Generate(); AssignValue(target, member, value, mType); } else { AssignValue(target, member, null, mType); } }