Если я напишу что-то вроде приведенного ниже кода,
class MainClass
{
static EventHandler _myEvent= delegate{};
static event EventHandler MyEvent
{
add{_myEvent += value;}
remove{_myEvent -= value;}
}
public static void Main (string[] args)
{
MyEvent(null,EventArgs.Empty);
}
}
компилятор пожалуется: Ошибка CS0079: оператор MainClass.MyEvent' can only appear on the left hand side of
+ = 'или оператор `- ='.
Почему так странно, как это вообще существует?Если я не могу запустить событие напрямую, зачем мне вообще использовать такую вещь?Это ошибка (я использую моно) или продуманный деликатный дизайн?Может ли кто-нибудь научить меня обоснованию этого?Заранее спасибо.