gpt4 book ai didi

c# - 使用 get 时更改对象状态

转载 作者:太空宇宙 更新时间:2023-11-03 20:01:02 26 4
gpt4 key购买 nike

您好,当我发现这个时,我是在微软网站上阅读的,有人可以解释为什么这是糟糕的编程,因为我认为它是以更少的代码行做更多的事情。 ps我还是类(class)的新手...

使用 get 访问器来更改对象的状态是一种糟糕的编程风格。例如,以下访问器会在每次访问数字字段时产生更改对象状态的副作用。

private int number;
public int Number
{
get
{
return number++; // Don't do this
}
}

最佳答案

当然...

大多数开发人员将 Get 读取为只读操作,阅读您的代码的人不会期望 Get 属性会修改任何数据。这是一种约定,但仔细想想,它是有道理的 - 它有助于我们所有人理解彼此的代码。

在您引用的示例中,一种方法是将其分成两个调用 - 一个 get,然后是一个 set 来递增变量...另一种方法是实现一个方法来递增变量并返回结果。

关于c# - 使用 get 时更改对象状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28317271/

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