gpt4 book ai didi

c# - 在 C# 中只写访问器

转载 作者:太空宇宙 更新时间:2023-11-03 19:07:44 24 4
gpt4 key购买 nike

所谓的只写访问器如何工作,例如 Discount

class CableBill
{
private int rentalFee;
private int payPerViewDiscount;
private bool discount;

public CableBill(int rentalFee)
{
this.rentalFee = rentalFee;
discount = false;
}

public bool Discount
{
set
{
discount = value;
if (discount)
payPerViewDiscount = 2;
else
payPerViewDiscount = 0;
}
}

public int CalculateAmount(int payPerViewMoviesOrdered)
{
return (rentalFee - payPerViewDiscount) * payPerViewMoviesOrdered;
}
}

当我写作时

CableBill january = new CableBill(4);
MessageBox.Show(january.CalculateAmount(7).ToString());

返回值为28

我的问题是:
程序如何知道 payPerViewDiscount=0?我在初始化对象时从未使用过 Discount 属性

最佳答案

一个类的所有成员都自动初始化为 default他们的类型的值(value)。对于 int,这是 0

顺便说一下,只写属性是不好的风格(根据 Microsoft's design guidelines )。您可能应该改用一种方法。

关于c# - 在 C# 中只写访问器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24569007/

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