/// <summary> /// Добавляет правило <see cref="IChoiceRule{TEntity, TChoiceEntity}"/> в агрегатор. /// </summary> /// <param name="ruleName">string. Уникальное название правила.</param> /// <param name="rule">Экземпляр <see cref="IChoiceRule{TEntity, TChoiceEntity}"/> для добавления.</param> public void AddRule(string ruleName, IChoiceRule <TEntity, TChoiceEntity> rule) { Guard.Against <ArgumentNullException>(rule == null, "Невозможно добавить нулевое правило. Ожидается не нулевая ссылка."); Guard.Against <ArgumentNullException>(string.IsNullOrEmpty(ruleName), "Невозможно добавить правило с нулевым названием. "); Guard.Against <ArgumentException>(_ruleSets.ContainsKey(ruleName), "Другое правило с таким же имененм уже существует. Невозможно добавить дубликат."); _ruleSets.Add(ruleName, rule); }
public TypeChoiceRule(string entityName, IChoiceRule <TDocument, TChoiceEntity> choiceRule, bool checkParentName) : this(entityName, default(TChoiceEntity), checkParentName) { _choiceRule = choiceRule; }