C#匿名方法/块?

时间:2012-06-11 14:40:18

标签: c# syntax event-handling mono anonymous-function

我无法理解这段代码是什么“ViewDissapearing”?那么“添加”和“删除”块呢?

public event EventHandler ViewDisappearing;

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

3 个答案:

答案 0 :(得分:4)

这样做是为同一事件提供两个名称。 “ViewDissapearing”是事件之前被错误命名的方式,而且所有订阅“ViewDissapearing”事件的现有代码都被重新路由以订阅新的正确拼写的“ViewDisappearing”事件。

当有人拨打add { ... }时,会执行ViewDissapearing += ...阻止,ViewDisappearing += that same ...只执行remove { ... }。同样适用于-=块和{{1}}。

答案 1 :(得分:1)

这是为了允许其他代码附加到此事件。这与变量的Get / Set属性相同。对于事件,它是添加/删除。与变量属性一样,您可以直接使用变量,也可以使用属性。如果要在添加事件时添加一些自定义代码,通常使用Properrty。

答案 2 :(得分:0)

这是明确说明编译器通常为类中的事件自动生成的内容。