I’ve previously written a couple of blog posts on an idea of mine: the possibility to have language support for avoiding null reference exceptions.
I had planned to close the matter down in an article claiming that a “with” keyword could be implemented in C# with the ability to take a different path when the “with”-expession couldn’t be evaluated because a null reference exception would occur trying to do so.
with ( Order order = a.b.c.d.e )
// either a or b or c or d or e is null and therefore
// it would be pointless to enter the "with" block
Well, now it turns out that I’m not the only one having felt the need for something like this. It is implemented in the Cω research language:
|Cω takes this one step further with the behavior of returning null instead of throwing a NullReferenceException on accessing a field or property of a nullable type whose value is null.|
I knew it was a good idea!!! 🙂