kac*_*123 2 .net c# oop optimization compiler-optimization
我想知道调用短方法的开销是什么,或者代码是否会以任何方式进行优化,如果它与getter的成本不同?
我只举一个例子,因为很难解释.
我有一个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);
}
}
*/
Run Code Online (Sandbox Code Playgroud)
这种简短的获取方法是不是这种做法?是否应该有大量的呼叫开销,因为它太短或者会优化吗?最后,在这里实际使用吸气剂更有意义吗?
谢谢
在我看来,使用setter和getter可能带来的边际开销远远超过了干净且易于维护的代码,这些代码很可能对于街上的任何.NET开发人员来说更容易选择和运行.
但我想这也取决于你的Claim对象有多大.:)
| 归档时间: |
|
| 查看次数: |
535 次 |
| 最近记录: |