Exemplo n.º 1
0
        public TypeConverterProvider Add <TTargetType>(IArrayTypeConverter <TTargetType> typeConverter)
        {
            if (typeConverters.ContainsKey(typeConverter.TargetType))
            {
                throw new CsvTypeConverterAlreadyRegisteredException($"Duplicate TypeConverter registration for Type {typeConverter.TargetType}");
            }

            typeConverters[typeConverter.TargetType] = typeConverter;

            return(this);
        }
Exemplo n.º 2
0
        protected CsvCollectionPropertyMapping <TEntity, TProperty> MapProperty <TProperty>(RangeDefinition range, Expression <Func <TEntity, TProperty> > property, IArrayTypeConverter <TProperty> typeConverter)
        {
            var propertyMapping = new CsvCollectionPropertyMapping <TEntity, TProperty>(property, typeConverter);

            AddPropertyMapping(range, propertyMapping);

            return(propertyMapping);
        }
 public CsvCollectionPropertyMapping(Expression <Func <TEntity, TProperty> > property, IArrayTypeConverter <TProperty> typeConverter)
 {
     propertyConverter = typeConverter;
     propertyName      = ReflectionUtils.GetPropertyNameFromExpression(property);
     propertySetter    = ReflectionUtils.CreateSetter <TEntity, TProperty>(property);
 }