public static void Set <TEntity, TEnum, TValue>(this FlatDataWrapper <TEntity> wrapper, TEnum valueName, TValue valueType) where TEntity : class { valueName.CheckValueType <TEnum, TValue>(); string key = valueName.ToString(); wrapper.SetValue(key, valueType); }
public static void Set <TEntity, TAttribute, TResult>(this FlatDataWrapper <TEntity> wrapper, TResult model) where TEntity : class where TAttribute : Attribute, IEnumType where TResult : class, new() { foreach (var propertyInfo in model.GetType().GetProperties(BindingFlags.Public | BindingFlags.Instance)) { var valueTypeAttribute = propertyInfo.GetCustomAttribute <TAttribute>(); var valueType = valueTypeAttribute.Type; valueType.CheckValueType(propertyInfo.PropertyType); string key = valueType.ToString(); wrapper.SetValue(key, propertyInfo.GetValue(model)); } }