我想知道調用short方法的開銷是多少,或者代碼是否會得到優化,並且與getter的成本不同?C#中的小方法調用和優化的代價
我只是舉一個例子,因爲它很難解釋。
我有一個網站的ClaimsManager獲取特定的聲明並返回它們。從另一個角度獲取一個聲明的過程只有一個ClaimsType字符串。
public string GetClaimValueByType(string ClaimType)
{
return (from claim in _claimsIdentity.Claims
where claim.ClaimType == ClaimType
select claim.Value).SingleOrDefault();
}
/*Again would this be better or worse if I wanted to be able to choose if
I want the claim versus the value?
public Claim GetClaimByType(string ClaimType)
{
return (from claim in _claimsIdentity.Claims
where claim.ClaimType == ClaimType
select claim).SingleOrDefault();
}
public string GetClaimValueByType(string ClaimType)
{
return GetClaimByType(ClaimType).Value;
}
*/
public string GetEmail()
{
return GetClaimValueByType(ClaimTypes.Email);
}
/* Or should I use getters?...
public string Email
{
get
{
return return GetClaimValueByType(ClaimTypes.Email);
}
}
*/
那麼,這是不好的做法有這些簡短的get方法?是否應該有一個很大的通話開銷,因爲它很短或者會被優化?最後,它使實際使用這裏干將更有意義?..
感謝
我應該注意,如果聲明不存在,您應該忽略Claim.Value的nullException的全部潛力。 (請參閱第一個註釋區域)這不是問題的真正組成部分,所以不要費心去關注這個問題。 – kachingy123 2011-04-13 11:01:46