Pattern: Missing use of ArgumentNullException
Issue: -
Argument checks have a substantial impact on code size and often dominate the code for small functions and property setters. These checks prevent inlining and cause substantial instruction-cache pollution. Throw-helper methods such as ArgumentNullException.ThrowIfNull
are simpler and more efficient than if
blocks that construct a new exception instance.
Example of incorrect code:
void TestMethod(string arg)
{
if (arg is null)
throw new ArgumentNullException(nameof(arg));
}
Example of correct code:
void TestMethod(string arg)
{
ArgumentNullException.ThrowIfNull(arg);
}