/// <summary> /// Extract data from the Entity object to current object /// </summary> /// <param name="entity"></param> internal void ExtractData(Entity entity) { Properties.Keys.ToList().ForEach(key => { var property = Properties[key]; var genericMethod = EntityGet?.MakeGenericMethod(property.PropertyType); var value = genericMethod?.Invoke(entity, new object[] { key }); property.SetValue(this, value, null); }); Fields.Keys.ToList().ForEach(key => { var field = Fields[key]; var genericMethod = EntityGet?.MakeGenericMethod(field.FieldType); var value = genericMethod?.Invoke(entity, new object[] { key }); field.SetValue(this, value); }); }
/// <summary> /// Extract data from the Entity object to current object /// </summary> /// <param name="entity"></param> internal void ExtractData(Entity entity) { Properties.ForEach(tuple => { var name = tuple.Item1; var property = tuple.Item2; var genericMethod = EntityGet?.MakeGenericMethod(property.PropertyType); var value = genericMethod?.Invoke(entity, new object[] { name }); property.SetValue(this, value, null); }); Fields.ForEach(tuple => { var name = tuple.Item1; var field = tuple.Item2; var genericMethod = EntityGet?.MakeGenericMethod(field.FieldType); var value = genericMethod?.Invoke(entity, new object[] { name }); field.SetValue(this, value); }); }