You can also save on creating a new EventArgs object
each time an event is fired by using the EventArgs.Empty
object.
EventArgs.Empty probably should do a thread check and
return a single eventargs instance per thread... I
wonder how this would affect performance?
Or sacrifice the per thread check and EventArgs becomes
an AppDomain singleton, maybe eases the GC a little,
hmmm...
Eric,
EventArgs.Empty follows the Null Object pattern and is a
static readonly immutable object so inherently
thread-safe. Guid and String use the same pattern.