gpt4 book ai didi

c# - C# 中属性的构造函数初始化

转载 作者:行者123 更新时间:2023-11-30 19:47:52 24 4
gpt4 key购买 nike

在 C# 类中初始化也具有完全访问权限(get、set)的属性时,通常是通过其属性方法在构造函数中初始化它们,还是直接通过其成员变量初始化它们?

public class Car
{
private string _brand;

public Car(string brand)
{
// this
_brand = brand;
// or that
Brand = brand;
}

public Brand { get { return _brand; } set { _brand = value; } }
}

最佳答案

您应该使用属性而不是成员变量来设置值。这样您就可以更改“setter”的实现,而只需在一个地方修改您的代码。

例如,如果您发现在设置品牌时还必须更新其他一些属性的要求,例如品牌有默认颜色,您可以在 set{...} block 中完成所有操作品牌 Assets 。如果您在构造函数中设置了 _brand 的值,您现在还必须手动更新构造函数中的 Color 属性,或者更新您的构造函数以现在初始化 Brand 属性而不是字段。

此外,在您的属性如此简单的情况下,使用“自动属性”更为传统

public Brand { get; set; }

如果您需要执行比简单属性设置和获取更多的逻辑,我只会使用支持字段。

关于c# - C# 中属性的构造函数初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6019480/

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