2012-06-11 5 views
0

Я не могу понять этот кусок кода, что такое «ViewDissapearing»? А как насчет «добавить» и «удалить» блоки?C# анонимный метод/блок?

public event EventHandler ViewDisappearing; 

public event EventHandler ViewDissapearing { 
    add { 
     ViewDisappearing += value; 
    } 
    remove { 
     ViewDisappearing -= value; 
    } 
} 
+0

Add and Remove являются стандартными для события. Это будет вызываться при подключении обработчиков событий для этого события ViewDisappearing. То же самое и внутри класса WinForm для события Click. Возможно, это должно дать вам больше информации http://msdn.microsoft.com/en-us/magazine/cc163533.aspx – Zenwalker

+0

http://msdn.microsoft.com/en-en/library/8627sbea(v=vs. 80) .aspx – poitroae

+0

Этот код на самом деле не имеет смысла, поскольку ViewDissapearing избыточен (это просто еще одна точка входа в ViewDisapearing) –

ответ

0

Это явное указание того, что обычно генерируется компилятором для события в классе.

4

Это делается для предоставления двух имен для одного и того же события. «ViewDissapearing» - это то, как событие было ранее неправильно названо, и все существующие коды, которые подписываются на событие «ViewDissapearing», вместо этого перенаправляются для подписки на новое правильно записанное событие «ViewDisappearing».

Блок add { ... } выполняется, когда кто-то звонит ViewDissapearing += ..., что делает не более ViewDisappearing += that same .... Аналогично для блока remove { ... } и -=.

+0

+1 для определения того, что, скорее всего, сценарий, из которого был взят код. –

+0

Спасибо, теперь понятно –

+0

@ChrisSinclair Больше, чем просто, я нашел его [и] (https://github.com/migueldeicaza/MonoTouch.Dialog/pull/104/files) :) – hvd

1

Это означает, что к этому событию может присоединяться другой код. Это та же идея, что и свойство Get/Set для переменной. Для событий это добавление/удаление. Как и в случае с свойствами переменных, вы можете использовать переменную напрямую, или вы можете использовать свойство. Обычно вы используете свойство Properrty, если хотите добавить какой-то пользовательский код при добавлении события.

+0

Да, глупый дело в том, что и событие, и его явное Add7Remove являются общедоступными (и DiSSappearing ужасно) –

Смежные вопросы