/// <summary> /// Создание подкатегории c многими инстансами /// </summary> /// <param name="categoryName">Имя категории</param> /// <param name="categoryDescription">Описание категории</param> /// <returns>Созданная подкатегория</returns> public override MultiInstanceCategory CreateMultiInstanceSubCategory(string categoryName, string categoryDescription) { if (categoryName == null) { throw new ArgumentNullException("categoryName"); } if (categoryDescription == null) { throw new ArgumentNullException("categoryDescription"); } lock (_childCategories) { if (_childCategories.Any(o => o.Name == categoryName)) { throw new DuplicateCategoryNameException("Category with the same name is already registered. Name: " + categoryName); } var res = new NetMultiInstanceCategory(categoryName, categoryDescription, this); _childCategories.Add(res); _isChildCategoriesChanged = true; return(res); } }
/// <summary> /// Конструктор для создания инстанса NetInstanceInMultiInstanceCategory /// </summary> /// <param name="parent">Родительская многоинстовая категория</param> /// <param name="instanceName">Имя инстанса</param> public NetInstanceInMultiInstanceCategory(NetMultiInstanceCategory parent, string instanceName) : base(parent, instanceName) { _counters = parent.Counters.ToDictionary(key => key.Key, val => val.Value.CreateCounter()); }