gpt4 book ai didi

c# - 在 getter 中声明变量

转载 作者:太空狗 更新时间:2023-10-30 00:38:46 25 4
gpt4 key购买 nike

我有一个复杂的getter如下

public bool IsOk
{
get
{
return (IsFirstCondition && (IsSecondCondition.Items.First.Item == MyItems.PublicItems.BestItem
|| IsThirdCondition.Collection.EditedItem.IsTheMostUsedItem);
}
}

为了简单和更好的可读性,我想把我的 getter 变成这样的东西:

public bool IsOk
{
get
{
var isBestItemm = IsSecondCondition.Items.First.Item == MyItems.PublicItems.BestItem;
var isMostUsedItem = IsThirdCondition.Collection.EditedItem.IsTheMostUsedItem;

return (IsFirstCondition && (isBestItemm || isMostUsedItem);
}
}

据我所知,getter 仅用于返回数据而不是设置/声明/初始化事物...我的简化 getter 在最佳实践和编码指南方面是否有效?

最佳答案

首先,属性指南通常规定:

  1. 他们应该很便宜

    尽量避免昂贵的计算或从数据库中获取数据,诸如此类。

  2. 他们应该是一致的

    两次读取属性应该两次返回相同的值。

  3. 他们不应该引入副作用

    读取属性会以某种方式改变底层对象。

如果可以避免这种情况,请使用任何正常的“技巧”将属性 getter 重构为

  • 更具可读性
  • 更易于维护
  • 更可重用(或使用更多可重用代码)

就您的实际示例而言,我肯定会声明这些变量。

关于c# - 在 getter 中声明变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38655733/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com