public static IBindingToSyntax <TTarget> Bind <TTarget>([NotNull] this IBindingBuilder builder,
                                                         [NotNull] TTarget targetGeneric, [NotNull] string targetPath) where TTarget : class
 {
     return(builder.Bind <TTarget, object>(targetGeneric, targetPath));
 }
 public static IBindingToSyntax <TTarget> Bind <TTarget>([NotNull] this IBindingBuilder builder,
                                                         [NotNull] TTarget target, [NotNull] Func <Expression <Func <TTarget, object> > > targetPath)
     where TTarget : class
 {
     return(builder.Bind <TTarget, object>(target, targetPath));
 }
 public static IBindingToSyntax <TTarget, TSource> Bind <TTarget, TSource>([NotNull] this IBindingBuilder builder, [NotNull] TTarget targetGeneric) where TTarget : class
 {
     return(builder.Bind <TTarget, TSource>(targetGeneric, targetGeneric.GetBindingMemberValue(DefautBindingMemberDescriptor)));
 }
 public static IBindingToSyntax <TTarget, TSource> Bind <TTarget, TSource>([NotNull] this IBindingBuilder builder,
                                                                           [NotNull] TTarget target,
                                                                           [NotNull] Func <Expression <Func <TTarget, object> > > targetPath) where TTarget : class
 {
     return(builder.Bind <TTarget, TSource>(target, BindingExtensions.GetMemberPath(targetPath)));
 }