Создать аналог List, который будет реагировать на внесение изменений. Какие интерфейсы нужно наследовать? - C#
Формулировка задачи:
Нету ли таких возможностей в существующих списках?
Нужно на каждое внесение изменений в список (добавление, удаление, изменение какого то значения) вызывать событие Alteration, при котором:
- изменятся булево свойство (не позволит закрыть рабочую вкладку без SaveDialog'a)
- перерисовываться вкладка с появлением звездочки возле названия (Без имени.txt*).
Максимум, что я могу отследить - это присвоение ссылке, нового списка. Выходит нужно создать свой список с минимумом функционала.
Много ли методов придется реализовывать, если унаследовать интерфейс? И что именно нужно наследовать?
Список желательно обобщенный.
Решение задачи: «Создать аналог List, который будет реагировать на внесение изменений. Какие интерфейсы нужно наследовать?»
textual
Листинг программы
class Program { static void Main(string[] args) { EventList<int> list = new EventList<int>(); list.Add(1); list.Remove(1); } } public class EventList<T> : ObservableCollection<T> { protected override void OnCollectionChanged(NotifyCollectionChangedEventArgs e) { Console.WriteLine("List changed! Action event: {0}", e.Action); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д