为事件赋值
Assignment a value to Events
我正在查看 ,虽然我认为我主要了解事件访问器,但另外两个方面让我感到困惑。
第一个:
private event Action<int> ActivityChanged = delegate {};
是否为该事件分配了 variable-initializers 的值,我的理解是只有 += 和 -= 运算符被允许用于事件?匿名方法在这里做什么?
第二个:
event Action<int> IActivityFacade.ActivityChanged
{
add
{
ActivityChanged += value;
value(GetSelectedActivity());
}
remove { ActivityChanged -= value; }
}
第一行是前向声明,第二行是定义吗?我来自 C++/C 背景,这就是我所看到的,但据我所知,它可能意味着完全不同的东西。 C# 是否允许前向声明
- 第一行是私有成员和带有虚拟初始值设定项的实际 'event'。事件有运算符 += 和 -= 用于订阅和取消订阅,没有虚拟它会抛出空引用
- second 是对具有相同 += 和 -=
的订阅者公开可用的访问器
通过会员活动,您可以按照以下方式解雇他们 this.ActivityChanged() some example
IActivityFacade.ActivityChanged 这意味着 class 实现接口,我们将其明确定义为关于 interface events and explicit enterface
的事件访问器
我正在查看
第一个:
private event Action<int> ActivityChanged = delegate {};
是否为该事件分配了 variable-initializers 的值,我的理解是只有 += 和 -= 运算符被允许用于事件?匿名方法在这里做什么?
第二个:
event Action<int> IActivityFacade.ActivityChanged
{
add
{
ActivityChanged += value;
value(GetSelectedActivity());
}
remove { ActivityChanged -= value; }
}
第一行是前向声明,第二行是定义吗?我来自 C++/C 背景,这就是我所看到的,但据我所知,它可能意味着完全不同的东西。 C# 是否允许前向声明
- 第一行是私有成员和带有虚拟初始值设定项的实际 'event'。事件有运算符 += 和 -= 用于订阅和取消订阅,没有虚拟它会抛出空引用
- second 是对具有相同 += 和 -= 的订阅者公开可用的访问器
通过会员活动,您可以按照以下方式解雇他们 this.ActivityChanged() some example
IActivityFacade.ActivityChanged 这意味着 class 实现接口,我们将其明确定义为关于 interface events and explicit enterface
的事件访问器