From 5ffc54d57882ba93d20c406e2fa0f8ed3213958e Mon Sep 17 00:00:00 2001 From: EkaterinaAntipova Date: Wed, 6 Mar 2019 11:00:39 +0300 Subject: [PATCH 1/3] Update Product.cs --- Product.cs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Product.cs b/Product.cs index f68c8c9..14b2fd3 100644 --- a/Product.cs +++ b/Product.cs @@ -32,11 +32,14 @@ public string Name get { return name; } set { + ProductEventArgs args = new ProductEventArgs(name, value); name = value; /* * TODO #4 Инициировать уведомление об * изменении наименования */ + if (NameChanged != null) + NameChanged(this, args); } } /// @@ -47,11 +50,14 @@ public decimal Price get { return price; } set { - price = value; /* * TODO #5 Инициировать уведомление об * изменении стоимости */ + ProductEventArgs args = new ProductEventArgs(price, value); + price = value; + if (PriceChanged != null) + PriceChanged(this, args); } } @@ -62,6 +68,8 @@ public decimal Price /* * TODO #3 Добавить определение событий */ + public event EventHandler NameChanged; + public event EventHandler PriceChanged; #endregion From 413cbe033f848c51dc487fd3ac317efbc6fcc907 Mon Sep 17 00:00:00 2001 From: EkaterinaAntipova Date: Wed, 6 Mar 2019 11:02:21 +0300 Subject: [PATCH 2/3] Update ProductEventArgs.cs --- ProductEventArgs.cs | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/ProductEventArgs.cs b/ProductEventArgs.cs index a79a6d6..b88872e 100644 --- a/ProductEventArgs.cs +++ b/ProductEventArgs.cs @@ -8,11 +8,27 @@ /* * TODO #1 Закончить определение класса ProductEventArgs */ - class ProductEventArgs + class ProductEventArgs : EventArgs { /* * TODO #2 Добавить определение необходимых компонент * класса ProductEventArgs */ + public string Prev_Name { get; } + public string New_Name { get; } + public decimal Prev_Price { get; } + public decimal New_Price { get; } + + public ProductEventArgs(string prev_Name, string new_Name) + { + Prev_Name = prev_Name; + New_Name = new_Name; + } + + public ProductEventArgs(decimal prev_Price, decimal new_Price) + { + Prev_Price = prev_Price; + New_Price = new_Price; + } } } From 5e90b67f72ea646d234fea175c9307069cce60d6 Mon Sep 17 00:00:00 2001 From: EkaterinaAntipova Date: Wed, 6 Mar 2019 11:03:58 +0300 Subject: [PATCH 3/3] Update Program.cs --- Program.cs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/Program.cs b/Program.cs index b9247f7..2e27da6 100644 --- a/Program.cs +++ b/Program.cs @@ -22,16 +22,33 @@ static void Main(string[] args) /* * TODO #6 Назначить обработчики событий в текущем контексте */ + product.NameChanged += ProductNameChanged; + product.PriceChanged += ProductPriceChanged; /* * TODO #7 Выполнить с экземпляром класса Product действия, * приводящие к возникновению описанных Вами событий */ + product.Name = "Product1"; + product.Name = "NewProduct"; + product.Price = 5677; + product.Price = 678; } /* * TODO #8 Добавить определение обработчиков событий */ + private static void ProductNameChanged(object sender, ProductEventArgs e) + { + Product product = sender as Product; + Console.WriteLine("Name of {0} has changed to {1}", e.Prev_Name, e.New_Name); + } + + private static void ProductPriceChanged(object sender, ProductEventArgs e) + { + Product product = sender as Product; + Console.WriteLine("Price has changed from {0} to {1}", e.Prev_Price, e.New_Price); + } } }