Feb
23
2010

Fun with .net: No more empty events

This is the first in a series of blog posts highlighting interesting snippets hacks I have run across. Although these do work, I do not recommend trying them in production code.

Have you ever gotten tired of checking for null before calling events? Take, for example, this block of code:

public delegate void FunHandler();

public class FooBar
{
    public event FunHandler OnSomethingFun;

    private void DoFunStuff()
    {
        if(OnSomethingFun != null)
        {
            OnSomethingFun();
        }
    }
}

 

I don’t remember where I first saw this one, but if you initialize the event to an empty delegate, then you wouldn’t have to check for null. Before you start explaining to me why this is wrong – take a breath, relax, and realize this is all for fun. Remember, don’t try this in production:

public delegate void FunHandler();

public class FooBar
{
    //not recommended
    public event FunHandler OnSomethingFun = ()=>{};

    private void DoFunStuff()
    {
        OnSomethingFun();
    }
}

Add comment




biuquote
Loading


AdSense

Software engineer by hobby and trade. When I am not sitting in front of a computer, you can find me playing with my kids. I am lucky enough to be married to my best friend and high school sweetheart. Life couldn't be better!

 

All content is mine, not my employers

Chronology

Tweets

what is the easiest way to *just* the last changeset number from git?
21 hours ago via Silver Bird
@ParasValecha so it is a virus some marketing guy manage to win an award for? ;)
3 days ago via Silver Bird
@ParasValecha none. I think they are one of the worse "viruses" you can get. Thrashing your disk and hogging CPU any chance they get
3 days ago via Silver Bird
...i have gone 5 years without one and been fine
3 days ago via Microsoft
... and provide little value on a day to day basis. Don't go to random content, and don't open stuff you don't understand...
3 days ago via Microsoft
I wholeheartedly believe that virus scanners are one of the worst things to install. they really slow down your computer...
3 days ago via Microsoft
RT @CodeWisdom: "When your hammer is C++, everything begins to look like a thumb." - Steve Haflich #fb
5 days ago via rowi for Windows Phone
Follow me on Twitter