public string ResolveName(MemberInfo member) { CustomContract.Requires <ArgumentNullException>(member != null); CustomContract.Ensures(CustomContract.Result <string>() != null); throw new NotImplementedException(); }
public static IEnumerable <T> Replace <T>(this IEnumerable <T> items, Func <T, bool> predicate, T replacement) { CustomContract.Requires(items != null); CustomContract.Requires(predicate != null); CustomContract.Ensures(CustomContract.Result <IEnumerable <T> >() != null); return(items.Select(item => predicate(item) ? replacement : item)); }
/// <summary> /// Adds the defined mapping to the mapper. /// </summary> /// <typeparam name="TSource">The source parameter type.</typeparam> /// <typeparam name="TTarget">The target parameter type.</typeparam> /// <returns>An instance of a <see cref="PredicateMapper"/>.</returns> public PredicateMapper And <TSource, TTarget>() { CustomContract.Ensures(CustomContract.Result <PredicateMapper>() != null); if (_converters.All(x => x.SourceType != typeof(TSource))) { _converters.Add(new PredicateConverter <TSource, TTarget>()); } return(this); }
public static Tuple <Type, string> GetNameFromAlias(this IMemberNameResolver memberNameResolver, MemberInfo alias, Type sourceType) { CustomContract.Requires(sourceType != null); CustomContract.Requires(alias != null); CustomContract.Ensures(CustomContract.Result <Tuple <Type, string> >() != null); var source = sourceType.GetMembers() .Select(x => new { Original = x, Name = memberNameResolver.ResolveName(x) }) .FirstOrDefault(x => x.Original.Name == alias.Name); return(source != null ? new Tuple <Type, string>(GetMemberType(source.Original), source.Name) : new Tuple <Type, string>(GetMemberType(alias), alias.Name)); }
public PredicateMapper MapMember <TSource, TTarget, TValue>( Expression <Func <TSource, TValue> > source, Expression <Func <TTarget, TValue> > result) { CustomContract.Requires <ArgumentNullException>(result != null); CustomContract.Requires <ArgumentNullException>(source != null); CustomContract.Ensures(CustomContract.Result <PredicateMapper>() != null); var memberBody = result.Body as MemberExpression; if (memberBody == null) { throw new ArgumentException("Expression should access member.", "result"); } var sourceBody = source.Body as MemberExpression; if (sourceBody == null) { throw new ArgumentException("Expression should access member.", "source"); } var resultMember = memberBody.Member; var sourceMember = sourceBody.Member; var converter = _converters.FirstOrDefault(x => x.SourceType == typeof(TSource) && x.TargetType == typeof(TTarget)); if (converter == null) { converter = new PredicateConverter <TSource, TTarget>(); _converters.Add(converter); } converter.Substitutions[sourceMember] = resultMember; return(this); }
/// <summary> /// Create a map based on the passed type arguments. /// </summary> /// <typeparam name="TSource">The source parameter type.</typeparam> /// <typeparam name="TTarget">The target parameter type.</typeparam> /// <returns>An instance of a <see cref="PredicateMapper"/></returns> public static PredicateMapper Map <TSource, TTarget>() { CustomContract.Ensures(CustomContract.Result <PredicateMapper>() != null); return(new PredicateMapper(new PredicateConverter <TSource, TTarget>())); }