/// <summary> /// converts a thing factory into a ValueOf /// </summary> /// <typeparam name="T"></typeparam> /// <param name="factory"></param> /// <returns></returns> public static FactoriedValueOf <T> AsNaturalValueFactory <T>(this LogicTo <T> factory) { if (factory == null) { throw new ArgumentNullException("factory"); } return(new FactoriedValueOf <T>(factory)); }
public static FactoriedValueOf <T> New(LogicTo <T> factory) { return(new FactoriedValueOf <T>(factory)); }
/// <summary> /// Here we supply a factory delegate method /// </summary> /// <param name="factory"></param> /// <remarks> /// We use the concrete type LogicTo to explicitly enforce the requirement that the factory (eg. ILogicTo) is fully hydrated /// before querying it. If we allowed use of ILogicOfTo in the factory, the context would need to be hydrated. /// Additionally, we use CloneAndPerform as the perform mechanism to ensure the stateless nature of the logic, and LogicTo supports this. /// </remarks> public FactoriedValueOf(LogicTo <T> factory) { Condition.Requires(factory).IsNotNull(); this.Factory = factory; }
public static StrategizedCondition New(LogicTo<bool?> conditionStrategy) { Condition.Requires(conditionStrategy).IsNotNull(); return new StrategizedCondition(conditionStrategy); }
public StrategizedCondition(LogicTo<bool?> conditionStrategy) { Condition.Requires(conditionStrategy).IsNotNull(); this.ConditionStrategy = conditionStrategy; }
public static StrategizedCondition New(LogicTo <bool?> conditionStrategy) { Condition.Requires(conditionStrategy).IsNotNull(); return(new StrategizedCondition(conditionStrategy)); }
public StrategizedCondition(LogicTo <bool?> conditionStrategy) { Condition.Requires(conditionStrategy).IsNotNull(); this.ConditionStrategy = conditionStrategy; }