I’m sure that most of you know that you can’t call methods on a null reference, so you’ll expect that this code will fire a nasty exception:
Except, it doesn’t.
Why?
In this case, Length() is an extension method:
Instead of getting a NullReferenceException
at the point of call, the Extension method is called normally with null
as the parameter value. This is a side effect of the way that Extension methods are implemented, as static methods on
static classes.
I’m dead sure this will prove useful - a way to write code that is less brittle, and which gives more useful diagnostics when a failure occurs.
Comments
blog comments powered by Disqus