我已經在Alice
類的事件,我想一個派生類Bob
內提高:C# - 調用事件之外聲明
public class Alice
{
public event Action<object> ValueChanged;
}
public class Bob : Alice
{
public void method1(Alice bigAlice)
{
// raise ValueChanged event
// or
// raise ValueChanged event on bigAlice
}
}
編譯錯誤說,我只能使用+=
和-=
如果我m不在事件的聲明類中。儘管如此,我怎麼能從鮑勃的代碼中解僱這件事呢?
爭用條件:http://broadcast.oreilly.com/2010/09/understanding-c-raising-events.html – spender
ValueChanged的調用列表可能會在空檢查之後但在事件調用之前發生更改(可能導致nullref異常)。取一份副本並改爲使用它。無論如何,國際海事組織的線索和事件使得相當不滿意的合作伙伴,但採取副本是慣用的。 – spender