在C#中有自动实现的属性......
public int SomeValue { get; set; }
但为什么没有自动实施的事件?
public event EventHandler<SomeEventArgs> SomethingHappened { add; remove; }
答案 0 :(得分:7)
活动是&#34;自动事件&#34;默认情况下:写时
public event EventHandler<SomeEventArgs> SomethingHappened;
您获得了add
和remove
的默认行为。
请注意,C#设计者无法对自动属性使用相同的语法,因为它会与字段声明冲突。此外,他们还需要提供语法,让您分别定义get
和set
的可见性,因此他们发明了{ get ; set; }
语法。