/// <summary>
 /// Adds mapping of property of type <paramref name="propertyType"/> to <paramref name="updater"/>.
 /// </summary>
 /// <param name="propertType">Type of property to be updated by <paramref name="updater"/>.</param>
 /// <param name="updater">Updater to be used at properties of type <paramref name="propertyType"/>.</param>
 /// <returns>Self (for fluency).</returns>
 public ReflectionValueUpdaterCollection Add(Type propertType, IReflectionValueUpdater updater)
 {
     Ensure.NotNull(propertType, "propertType");
     Ensure.NotNull(updater, "updater");
     storage[propertType] = updater;
     return(this);
 }
 /// <summary>
 /// Creates new instance with support for updating values of readonly properties.
 /// </summary>
 /// <param name="model">Instance of model. Can't be <c>null</c>.</param>
 /// <param name="valueUpdater">Readonly property value updater. Can't be <c>null</c>.</param>
 public ReflectionModelValueProvider(TModel model, IReflectionValueUpdater valueUpdater, IConverterRepository converters)
 {
     Ensure.NotNull(model, "model");
     Ensure.NotNull(valueUpdater, "valueUpdater");
     Ensure.NotNull(converters, "converters");
     Model        = model;
     ModelType    = model.GetType();
     ValueUpdater = valueUpdater;
     Converters   = converters;
 }
 /// <summary>
 /// Creates new instance with support for updating values of readonly properties.
 /// </summary>
 /// <param name="model">Instance of model. Can't be <c>null</c>.</param>
 /// <param name="valueUpdater">Readonly property value updater. Can't be <c>null</c>.</param>
 public ReflectionModelValueProvider(TModel model, IReflectionValueUpdater valueUpdater)
     : this(model, valueUpdater, Converts.Repository)
 {
 }
Esempio n. 4
0
 /// <summary>
 /// Adds mapping of property of type <typeparamref name="T"/> to <paramref name="updater"/>.
 /// </summary>
 /// <typeparam name="T">Type of property to be updated by <paramref name="updater"/>.</typeparam>
 /// <param name="collection">Target updaters collection.</param>
 /// <param name="updater">Updater to be used at properties of type <typeparamref name="T"/>.</param>
 /// <returns>Self (for fluency).</returns>
 public static ReflectionValueUpdaterCollection Add <T>(this ReflectionValueUpdaterCollection collection, IReflectionValueUpdater updater)
 {
     Ensure.NotNull(collection, "collection");
     return(collection.Add(typeof(T), updater));
 }