Useful extension method for the object type…
Here’s a useful extension method for the object type:
/// <summary> /// Extends object to have a ValidateArgumentNotNull method. /// </summary> /// <remarks> /// Validates that an object is not null. If the object is null, /// ArgumentNullException will be thrown. /// </remarks> /// <param name="value">The object being extended.</param> /// <param name="argumentmName">The argument name.</param> public static void ValidateArgumentNotNull(this object value, string argumentmName) { if (value == null) { throw new ArgumentNullException(argumentmName); } }
A little piece of syntactic sugar to turn N lines of boilerplate code like this:
if (foo == null) { throw new ArgumentNullException("foo"); } if (bar == null) { throw new ArgumentNullException("bar"); } if (foobar == null) { throw new ArgumentNullException("foobar"); }
Into something tighter, that you (sort of) just IntelliSense through:
foo.ValidateArgumentNotNull("foo"); bar.ValidateArgumentNotNull("bar"); foobar.ValidateArgumentNotNull("foobar");
I want to know if I can find the parameter name out through reflection, so I don’t have to pass it in. That would be the ultimate in tightness.
Best,
Brian