Класс загрузки данных запаса имеет BarList, к которому он либо добавляет новые столбцы, либо обновляет их и заменяет последний столбец, когда последний столбец изменяется в реальном времени. Всякий раз, когда этот класс загрузки добавляет новый бар в класс BarList или изменяет его последний бар, он также вызывает его NotifyOnBarsAdded или NotifyOnBarChanges. Я пытаюсь заставить методы notify вызывать события, чтобы класс Canvas, который обрабатывает эти события, мог перерисовать последний столбец или всю диаграмму в зависимости от того, какой метод notify вызывается. Проблема в том, что когда вызывается класс NotifyOnBarsAdded, я получаю исключение NullReferenceException при попытке вызвать событие. Я поднимаю событие так: NotifyBarAdded(this, EventArgs.Empty)
. Это неверно? Вот код:
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; }
}