C
Chad Myers
MC D said:I have an event that I am defining in one class, and I want to subscribe to
it in another. I have the delegate for the event in the top of my class:
public delegate void statsUpdatedHandler(object sender, EventArgs e);
I then have the event defined in the class as:
public static event statsUpdatedHandler statsUpdated;
I raise the event in a procedure in the same class. It looks like:
statsUpdated(this,EventArgs.Empty);
I subscribe to the event in my other class by saying:
etalkManager.stats.statsUpdated += new
etalkManager.statsUpdatedHandler(getLatestData);
When the event fires, I get an error saying "object reference not set to an
instance of an object.", and it refers to the line that raises the event in
the original class (statsUpdated(this,EventArgs.Empty)![]()
When calling events, you must make sure that it is not null
(no handlers attached).
You should always make a private or protected method names
something like:
protected void OnStatsUpdated()
{
if( statusUpdated != null )
{
statsUpdated(this, EventArgs.Empty);
}
}
-c