Je suis la mise à niveau d'un système et je passe par un autre code de développeurs (ASP.NET en C#).Est-ce que ce code est redondant?
je suis tombé sur ceci:
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;
}
}
}
vérifie le type du setter inutile? Sûrement, si je définissais la propriété à autre chose qu'un objet ReferralSearchFilterResults
, le code ne serait même pas compiler? Est-ce que je manque quelque chose ou suis-je raison de penser cela peut être réalisé en utilisant simplement:
set
{
Session[SESSION_REFERRAL_SEARCHFILTERRESULTS] = value;
}
:) Je serais plus inquiet de savoir pourquoi une valeur de propriété est stockée dans une variable de session. À moins que je manque quelque chose ici. –
Ceci est une mauvaise pratique IMO. Personne n'aime les propriétés smartass qui décident de leur propre chef de ne pas faire ce que vous leur avez demandé de faire, et ne vous préviennent même pas à ce sujet. – Groo