Мне было интересно, каковы издержки вызова коротких методов или будет ли код оптимизирован в любом случае, и если он будет отличаться от стоимости геттеров?
Я просто приведу пример, потому что это трудно объяснить.
У меня есть 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? Должны ли быть большие накладные расходы на вызовы, потому что они настолько короткие, или это будет оптимизировано? Наконец, имеет ли смысл использовать здесь геттеры? ..
Спасибо