我想添加自定义逻辑,如果我的ulong为0(默认值),则将其设置为1。这是我所拥有的:
private ulong quantity;
public ulong Quantity
{
get
{
return this.quantity;
}
set
{
if (this.Quantity == 0)
{
this.quantity = 1;
return;
}
this.Quantity = this.quantity;
}
}
但是,我收到一个编译错误,提示:
Parameter 'value' of 'PurchaseForPayoutRequest.Quantity.set(ulong)' is never used
答案 0 :(得分:3)
您需要在设置器中使用contextual keyword value
。
public ulong Quantity
{
get
{
return this.quantity;
}
set
{
if (value == 0)
{
this.quantity = 1;
return;
}
this.quantity = value;
}
}
答案 1 :(得分:3)
确保正确使用properties,需要使用value
并确保您正在访问备用字段。您的示例也可以通过expression body members和?:
Operator
private ulong _quantity;
public ulong Quantity
{
get => _quantity;
set => _quantity = value == 0 ? (ulong)1 : value;
}
答案 2 :(得分:0)
您需要在最后一行为this.quantity设置值
public ulong quantity
{
get
{
return this.quantity;
}
set
{
if (value == 0)
{
this.quantity = 1;
return;
}
else
{
this.quantity = value;
}
}
}
用数量不为0时要分配的数字替换为其他值。