public AndCondition(ICondition condition, ICondition[] prerequisites) : this(ConditionCollection.Prepend(condition, prerequisites)) { Ensure.NotNull(condition, nameof(condition)); Ensure.NotNullOrEmpty(prerequisites, nameof(prerequisites)); }
/// <summary> /// Initializes a new instance of the <see cref="OrCondition"/> class. /// </summary> public OrCondition(ICondition prerequisite1, ICondition prerequisite2, params ICondition[] prerequisites) : this(new OrConditionCollection(ConditionCollection.Prepend(prerequisite1, prerequisite2, prerequisites), leaveOpen : true)) { }
protected Condition(ConditionCollection conditionCollection) : this(conditionCollection.ObserveIsSatisfiedChanged(), () => conditionCollection.IsSatisfied) { Ensure.NotNullOrEmpty(conditionCollection, nameof(conditionCollection)); this.prerequisites = conditionCollection; }