Это избыточный код?

Я обновляю систему и просматриваю код другого разработчика (ASP.NET на C #).

Я обнаружил следующее:

private ReferralSearchFilterResults ReferralsMatched
{
    get
    {
        if (Session[SESSION_REFERRAL_SEARCHFILTERRESULTS] == null || Session[SESSION_REFERRAL_SEARCHFILTERRESULTS].GetType() != typeof(ReferralSearchFilterResults))
            return null;
        else
            return (ReferralSearchFilterResults)Session[SESSION_REFERRAL_SEARCHFILTERRESULTS];
    }
    set
    {
        if (value == null)
        {
            Session[SESSION_REFERRAL_SEARCHFILTERRESULTS] = value;
        }
        else if (value.GetType() == typeof(ReferralSearchFilterResults))
        {
            Session[SESSION_REFERRAL_SEARCHFILTERRESULTS] = value;
        }
    }

}

Проверяет тип на сеттер не нужен? Разумеется, если я установлю для свойства значение, отличное от объекта ReferralSearchFilterResults , код даже не будет компилироваться? Я что-то упускаю или я прав, полагая, что этого можно достичь, просто используя :

set
{
    Session[SESSION_REFERRAL_SEARCHFILTERRESULTS] = value;
}
5
задан Jamie 25 November 2010 в 14:13
поделиться