[我当时看着this question,虽然我认为我大多数时候都了解事件访问器,但其他两个方面使我感到困惑。
第一:
private event Action<int> ActivityChanged = delegate {};
此事件是否使用variable-initializers分配了一个值,我的理解是,事件中仅允许+ =和-=运算符?匿名方法在这里做什么?
第二:
event Action<int> IActivityFacade.ActivityChanged
{
add
{
ActivityChanged += value;
value(GetSelectedActivity());
}
remove { ActivityChanged -= value; }
}
第一行是向前声明,第二行是定义吗?我来自C ++ / C背景,这对我来说似乎是这样,但就我所知,这可能完全意味着其他事情。 C#中甚至允许使用前向声明]