.NET 4.x Генерация события при изменении свойства - C#
Формулировка задачи:
Есть public static class DataProvider. Который явлчется поставщиком данных (он содержит коллекцию из другого класса) т.е. что то типа у MyObj есть набор свойств к примеру . Необходимо сделать так что бы при изменении свойства Age вызывалось событие к которому можно прицепится из кода через статический класс поставщика данных, что то типа:. Сейчас у меня сделано так что изменять своство Age можно только через методы класса DataProvider типа ( DataProvider.ChangeAge(int id, int value) ; ). Как сделать более корректно ?
public static List<MyObj> Data;
public int Age { get; set; }
DataProvider.OnChangeAge += myHandlerAgeChange;
Решение задачи: «.NET 4.x Генерация события при изменении свойства»
textual
Листинг программы
class Program { static void Main(string[] args) { DataProvider.Data[0].OnChangeAge += new MyObj.ChangeAge(Method); DataProvider.Data[0].Age = 34; Console.ReadKey(); } static void Method() { Console.WriteLine("Change property Age."); } } static class DataProvider { public static List<MyObj> Data = new List<MyObj> { new MyObj()}; } public class MyObj { public delegate void ChangeAge(); public event ChangeAge OnChangeAge; private int _age; public int Age { get {return _age;} set { _age = value; OnChangeAge(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д