/// <summary> /// Конструктор создает объект типа директивы /// </summary> /// <param name="itemId"></param> /// <param name="shortName"></param> /// <param name="fullName"></param> /// <param name="commonName"></param> /// <param name="parent">Родительский узел</param> private GoodsClass(Int32 itemId, String shortName, String fullName, String commonName, GoodsClass parent) : this() { ItemId = itemId; ShortName = shortName; FullName = fullName; CommonName = commonName; _parent = parent; if (parent != null) { //Выставление пред. узла на данном уровне для тек. узла GoodsClass prevNode = parent.Children.Count > 0 ? parent.Children[parent.Children.Count - 1] : null; _prev = prevNode; //Для пред. узла на данном уровне - выставление след. узла if (prevNode != null) { prevNode._next = this; } //добавление нового дочернего узла в родительский узел parent.Children.Add(this); } _Items.Add(this); }
public override int GetHashCode() { var componentClassHash = GoodsClass.GetHashCode(); var fullNameHash = FullName.GetHashCode(); var partNumberHash = PartNumber.GetHashCode(); var descriptionHash = Description.GetHashCode(); return(componentClassHash ^ fullNameHash ^ partNumberHash ^ descriptionHash); }