股票數據下載類有一個BarList,它可以添加新條或更新,並在最後一個條實時更改時替換最後一個條。每當此下載類向BarList類添加新條或者更改其最後一個條時,它也會調用其NotifyOnBarsAdded或NotifyOnBarChanges。我試圖獲取通知方法來引發事件,以便處理這些事件的Canvas類可以根據調用哪種通知方法來重繪最後一欄或整個圖表。問題是,當NotifyOnBarsAdded類被調用時,我得到一個NullReferenceException作爲嘗試引發事件。我正在舉辦這樣的活動:NotifyBarAdded(this, EventArgs.Empty)
。這是不正確的?下面的代碼:你如何在C#中舉辦活動?
public class BarList : List<Bar>
{
private int historyHandle;
public event EventHandler NotifyBarChanged;
public event EventHandler NotifyBarAdded;
public BarList(int historyHandle)
{
this.historyHandle = historyHandle;
}
public BarList()
{
// TODO: Complete member initialization
}
public void NotifyOnBarChange()
{
NotifyBarChanged(this,EventArgs.Empty);
}
public void NotifyOnBarsAdded()
{
NotifyBarAdded(this, EventArgs.Empty);
}
public long handle { get; set; }
}
要格式化代碼塊,最好用四個空格開始每行(或者您可以在編輯器中用1和0按下按鈕)。對於內聯代碼,您可以使用反引號('\'')。 – 2010-10-28 04:43:52