Ошибка при явной реализации методов Add и Remove - C#

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

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

Добрый день. Есть два класса событий MyEvent и MyEvent2, код ниже. С первым классов все в порядке. Но есть ошибка в реализации второго класса. Почему-то пишем, что SomeEvent может использоваться только с операторами += и -=. Почему тогда в первом случае такой ошибки не возникает?
delegate void MyEventHandler();
 
class MyEvent
{
    public event MyEventHandler SomeEvent;
 
    public void OnSomeEvent()
    {
        if (SomeEvent != null)
            SomeEvent();
    }
}
 
class MyEvent2
{
    public event MyEventHandler SomeEvent
    {
        add {
            SomeEvent += value;
        }
        remove {
            SomeEvent -= value;
        }
    }
 
    public void OnSomeEvent()
    {
        if (SomeEvent != null)
            SomeEvent();
    }
}
up.......

Решение задачи: «Ошибка при явной реализации методов Add и Remove»

textual
Листинг программы
    class MyEvent2
    {
        private MyEventHandler _someEvent;
 
        public event MyEventHandler SomeEvent
        {
            add
            {
                _someEvent += value;
            }
            remove
            {
                _someEvent -= value;
            }
        }
 
        public void OnSomeEvent()
        {
            if (_someEvent != null)
                _someEvent();
        }
    }

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


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

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

9   голосов , оценка 3.667 из 5
Похожие ответы