.ReferenceEquals or == operator ?

Почему ThrowIfNull реализован как:

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

Не лучше ли было бы переписать как:

    static void ThrowIfNull<T>(this T argument, string name) where T : class
    {
        if (object.ReferenceEquals(argument, null))
        {
            throw new ArgumentNullException(name);
        }
    }

Плюсы: помогает избежать путаницы Равно перегрузок и, вероятно, делает код более понятным.

Любые минусы для который? Они должны быть.

6
задан Grozz 19 August 2011 в 09:28
поделиться