When working on one on my recent projects, I needed to fire an event that contains a message. I've looked for any
EventArgs that contain a
string property to be used as a message container, but I didn't find anything simple. So, I decided to create a set of
EventArgs that contains properties I need for almost every project and put them in a separate library, so it can be reused. Then I got the idea, why not declare the event itself and its firing method in that library to be able to fire the events from my project the same way I call a method. That's the idea behind Basic Events project, out of the box usage of events containing common properties.
The Attached Code
The attached code contains a solution with the following projects:
BasicEvents: The main library that contains the
EventArgs classes and the
Events class with events defined.
DMO_BLL: A business tier class to demo
DMO_EXE: A console application that uses the
Using the Code
In your class that you wish to fire the event
protected attribute of
private BasicEvents.Events _events = new BasicEvents.Events();
public read only property to return the
Events class instance that all the events will be fired from.
public BasicEvents.Events Events
Where you want to fire one of the basic events, just call the related method:
Fire events methods:
In your presentation tier, or the class where you intend to handle the events fired:
Provided that you make instance of the business tier library:
DMO_BLL.DMO _dmo = new DMO_BLL.DMO();
Register the event handlers:
void Events_MessageReceived(object sender, BasicEvents.MessageEventArgs e)
Run the business method in the business tier library:
The source code can be viewed under codeplex.com by clicking here.