Как лучше всего расширить проверку на null?

Вы все делаете это:

public void Proc(object parameter)
{
    if (parameter == null)
        throw new ArgumentNullException("parameter");

    // Main code.
}

Джон Скит однажды упомянул, что он иногда использует расширение для этой проверки, так что вы можете просто:

parameter.ThrowIfNull("parameter");

Итак, у меня есть две реализации этого расширения, и я не знаю, какая из них лучше.

Первый:

internal static void ThrowIfNull<T>(this T o, string paramName) where T : class
{
    if (o == null)
        throw new ArgumentNullException(paramName);
}

Второй:

internal static void ThrowIfNull(this object o, string paramName)
{
    if (o == null)
        throw new ArgumentNullException(paramName);
}

Что вы думаете?

16
задан Sam 25 June 2014 в 21:33
поделиться