Ошибка в задаче по делегатам и событиям - C#

Узнай цену своей работы

Формулировка задачи:

Есть задача: Создать класс Counter. Этот класс содержит метод CountTo(int countTo, int reachableNum) который начинает отсчет от 0 до countTo, и запускает событие NumberReached когда значение счета достигает reachableNum. Объявить и использовать делегаты и события. Мое решение:
namespace ConsoleApplication1
{
 
    public delegate void NumberReachedEventHandler(object sender, NumberReachedEventArgs e);

    public class Counter
    {
 
        public event NumberReachedEventHandler NumberReached;
 
        public Counter()
        {
 
            //
 
            // TODO: Add constructor logic here
 
            //
 
        }
 
        public void CountTo(int countTo, int reachableNum)
        {
 
            if (countTo < reachableNum)
                throw new ArgumentException();
 
            for (int ctr = 0; ctr <= countTo; ctr++)
            {
                if (ctr == reachableNum)
                {
 
                    NumberReachedEventArgs e = new NumberReachedEventArgs(
 
                        reachableNum);
 
                    OnNumberReached(e);
 
                    return;//don’t count any more
 
                }
 
            }
 
        }
 
        protected virtual void OnNumberReached(NumberReachedEventArgs e)
        {
 
            if (NumberReached != null)
            {
 
                NumberReached(this, e);//Raise the event
 
            }
 
        }
 
    }
}
Что там не так? Почему не идет отладка?

Решение задачи: «Ошибка в задаче по делегатам и событиям»

textual
Листинг программы
public class NumberReachedEventArgs
{
    public int Number { get; private; set; }
    public NumberReachedEventArgs(int number)
    {
        Number = number;
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4 из 5