/// <summary> /// Возвращает перечисление всех исправленных атрибутов по имени и типу родителя /// </summary> /// <typeparam name="TP">Тип родителя</typeparam> /// <typeparam name="T">Типизация значения</typeparam> /// <param name="attribute">Имя атрибута</param> /// <returns>Перечисление исправленных атрибутов</returns> public IEnumerable <T> GetFixedAttributes <TP, T>(string attribute) { return(FixedAttributes.Where( _ => (_.Key is TP) && (_.Value.ContainsKey(attribute)) ).Select( _ => (T)_.Value[attribute] )); }
FixedAttr FindFixed(FixedAttributes attr) { var val = fixedAttrList.FirstOrDefault(a => a.type == attr); if (val == null) { throw new Exception("Attribute " + Enum.GetName(typeof(FixedAttributes), attr) + " not found in " + name); } return(val); }
/// <summary> /// Возвращает перечисление всех атрибутов по родителю /// </summary> /// <param name="parent">Родительский элемент-владалец</param> /// <returns>Словарь исправленных атрибутов</returns> public IDictionary <string, object> GetFixedAttributes(IChartElement parent) { return(FixedAttributes.ContainsKey(parent) ? FixedAttributes[parent] : null); }
public void AddFixed(FixedAttributes attr, float quant) { var val = FindFixed(attr); val.additional += quant; }
public float GetFixed(FixedAttributes attr) { var val = FindFixed(attr); return(val.value + val.additional); }