コード例 #1
0
        /// <summary>
        /// Adds a mutator for the property pointed to by <paramref name="propertyAccessor"/> and
        /// specified <paramref name="mutatorFunc"/> .
        /// </summary>
        /// <typeparam name="TVal">The property type.</typeparam>
        /// <param name="propertyAccessor"></param>
        /// <param name="mutatorFunc"></param>
        /// <returns>A new API to enable a more fluent API.</returns>
        public ISubsequentPropertyChangeSetApi <TRecord> Mutate <TVal>(Expression <Func <TRecord, TVal> > propertyAccessor, Func <TRecord, TVal> mutatorFunc)
        {
            var propertyInfo = PropertyMutator <TRecord> .GetPropertyFromExpression(propertyAccessor);

            var mutator = PropertyMutator <TRecord> .FromTransform(propertyInfo, r => mutatorFunc(r));

            return(Mutate(mutator));
        }
コード例 #2
0
 /// <summary>
 /// Adds a mutator for the property named <paramref name="propertyName"/> and specified
 /// <paramref name="mutatorFunc"/>.
 /// </summary>
 /// <typeparam name="TVal">The property type.</typeparam>
 /// <param name="propertyName"></param>
 /// <param name="mutatorFunc"></param>
 /// <exception cref="MissingMemberException">
 /// Thrown if <paramref name="propertyName"/> is not a property on <typeparamref name="TRecord"/>.
 /// </exception>
 /// <returns>A new API to enable a more fluent API.</returns>
 public ISubsequentPropertyChangeSetApi <TRecord> Mutate <TVal>(string propertyName, Func <TRecord, TVal> mutatorFunc)
 {
     return(Mutate(PropertyMutator <TRecord> .FromTransform(propertyName, r => mutatorFunc(r))));
 }