Ошибка при отладке событий в консольном приложении - 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(); } } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д