/// <summary> /// Контейнер фабрик для элемента Правила или его наследников /// </summary> /// <typeparam name="T1">Елемент правила. Также учитываются все его наследники</typeparam> /// <typeparam name="T2">Второе условие</typeparam> /// <returns></returns> public virtual IRuleSerializerContainer <T1> Container <T1, T2>() where T1 : IRuleElement { string key = typeof(T1).Name + typeof(T2).Name; if (factories.Keys.Contains(key) == true) { return(factories[key] as RuleSerializerContainerBase <T1>); } RuleSerializerContainerBase <T1> factory = new RuleXmlSerializerContainer <T1, T2>(this); factories.Add(key, factory); return(factory); }
/// <summary> /// Контейнер фабрик для элемента Правила или его наследников /// </summary> /// <typeparam name="T">Елемент правила. Также учитываются все его наследники</typeparam> /// <typeparam name="U">Второе условие</typeparam> /// <returns></returns> public RuleSerializerContainerBase <T> Container <T, U>() where T : RuleElement { string key = typeof(T).Name + typeof(U).Name; if (factories.Keys.Contains(key) == true) { return(factories[key] as RuleSerializerContainerBase <T>); } RuleSerializerContainerBase <T> factory = new RuleXmlSerializerContainer <T, U>(this); factories.Add(key, factory); return(factory); }