public static InjectorFluent <T> SetResolver <T>(Expression <Func <T> > factoryExpression) where T : class { InternalResolver <T> .SetResolver(factoryExpression); return(new InjectorFluent <T>()); }
public static InjectorFluent <T> AddPropertyInjector <T, TPropertyType>(this InjectorFluent <T> fluent, Expression <Func <T, TPropertyType> > propertyExpression, Expression <Func <TPropertyType> > setter) where T : class { InternalResolver <T> .AddPropertySetter(propertyExpression, setter); return(fluent); }
public static InjectorFluent <T> SetResolver <T>(ConstructorInfo constructor) where T : class { InternalResolver <T> .SetResolver(constructor); return(new InjectorFluent <T>()); }
/// <summary> /// Add property setter for property, use the Resolver to determine the value of the property /// </summary> /// <typeparam name="TPropertyType"></typeparam> /// <param name="propertyExpression"></param> public static void AddPropertySetter <TPropertyType>(Expression <Func <T, TPropertyType> > propertyExpression) where TPropertyType : class { Expression <Func <TPropertyType> > setter = () => InternalResolver <TPropertyType> .Resolve(); AddPropertySetterInner <TPropertyType>(propertyExpression, setter); }
public static InjectorFluent <T> AddPropertyInjector <T, TPropertyType>(Expression <Func <T, TPropertyType> > propertyExpression) where T : class where TPropertyType : class { InternalResolver <T> .AddPropertySetter(propertyExpression); return(new InjectorFluent <T>()); }
public static InjectorFluent <T> SetResolver <T, TConcreteType>() where T : class where TConcreteType : class, T { InternalResolver <T> .SetResolver(() => InternalResolver <TConcreteType> .Resolve()); return(new InjectorFluent <T>()); }
public static T Resolve <T>() where T : class { return(InternalResolver <T> .Resolve()); }