public Organization this[int i] { get { if (i > -1 && i < Count) { var curr = this.Beg; for (int index = 0; index < i; index++) { curr = curr.Next; } return(curr.Data); } else { Console.WriteLine("=== В коллекции нет элемента с таким индексом, либо коллекция пустая ==="); return(new Organization()); //throw new ArgumentOutOfRangeException(); } } set { if (i > -1 && i < Count) { var curr = this.Beg; for (int index = 0; index < i; index++) { curr = curr.Next; } CollectionReferenceChanged?.Invoke(this, new CollectionHandlerEventArgs(Name, "Присвоение нового значения", value)); curr.Data = value; } else { Console.WriteLine("=== В коллекции нет элемента с таким индексом, либо коллекция пустая ==="); //throw new ArgumentOutOfRangeException(); } } }
public virtual void OnCollectionReferenceChanged(object source, CollectionHandlerEventArgs <T> args) { CollectionReferenceChanged?.Invoke(source, args); }
public override void SetValueByIndex(int index, T value) { CollectionReferenceChanged?.Invoke(this, new CollectionHandlerEventArgs(NameCollection, "SetValueByIndex", value as Animals)); base.SetValueByIndex(index, value); }