Ошибка при отладке событий в консольном приложении - C#
Формулировка задачи:
Есть вот такой несложный код, демонстрирующий работу событий(консольное приложение):
Когда я начинаю выполнять программу по F11, т.е. в отладке, когда управление переходит на
строчку "test.Name = "Новое имя";" то мое консольное окошко вдруг закрывается. И если идти дальше возникает
ошибка "The debugger cannot continue running the process. Process was terminated."
Листинг программы
- namespace ConsoleApplication4
- {
- class Program
- {
- static void Main(string[] args)
- {
- Test test = new Test();
- test.eventChangeName += new Action(handlerChangeName);
- test.eventChangeSurName += new Action(handlerChangeSurName);
- test.Name = "Новое имя";
- Console.ReadLine();
- }
- private static void handlerChangeSurName()
- {
- Console.WriteLine("Изменилось фамилия!!!");
- }
- private static void handlerChangeName()
- {
- Console.WriteLine("Изменилось имя!!!");
- }
- }
- class Test
- {
- public event Action eventChangeName;
- public event Action eventChangeSurName;
- public string Name
- {
- get{return Name;}
- set
- {
- Name = value;
- if (eventChangeName != null)
- eventChangeName();
- }
- }
- public string Surname
- {
- get { return Surname; }
- set
- {
- Surname = value;
- if (eventChangeSurName != null)
- eventChangeSurName();
- }
- }
- }
- }
Решение задачи: «Ошибка при отладке событий в консольном приложении»
textual
Листинг программы
- using System;
- namespace ConsoleApplication4
- {
- class Program
- {
- static void Main(string[] args)
- {
- Test test = new Test();
- test.eventChangeName += new Action(handlerChangeName);
- test.eventChangeSurName += new Action(handlerChangeSurName);
- test.Name = "Новое имя";
- Console.ReadLine();
- }
- private static void handlerChangeSurName()
- {
- Console.WriteLine("Изменилось фамилия!!!");
- }
- private static void handlerChangeName()
- {
- Console.WriteLine("Изменилось имя!!!");
- }
- }
- class Test
- {
- private string name = string.Empty;
- private string surname = string.Empty;
- public event Action eventChangeName;
- public event Action eventChangeSurName;
- public string Name
- {
- get { return name; }
- set
- {
- name = value;
- if (eventChangeName != null)
- eventChangeName();
- }
- }
- public string Surname
- {
- get { return surname; }
- set
- {
- surname = value;
- if (eventChangeSurName != null)
- eventChangeSurName();
- }
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д