我如何在C#中的设置器所设置的值

问题描述 投票:0回答:3

我想添加在我的ULONG将设置为1的定制逻辑,如果它是0(默认值)。下面是我有:

    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

c#
3个回答
3
投票

请确保您正确使用properties,你需要使用value,并确保您可以访问您的支持字段。你举的例子也可以用expression body members?: Operator简化

private ulong _quantity;

public ulong Quantity
{
   get => _quantity;
   set => _quantity = value == 0 ? (ulong)1 : value;
}

3
投票

你需要使用的contextual keyword value在你的制定者。

public ulong Quantity
{
    get
    {
        return this.quantity;
    }

    set 
    {
        if (value == 0)
        {
            this.quantity = 1;
            return;
        }

        this.quantity = value;
    }
}

0
投票

您需要设置值this.quantity在你的上线

public ulong quantity
{
    get
    {
        return this.quantity;
    }

    set 
    {
        if (value == 0)
        {
            this.quantity = 1;
            return;
        }
        else
        {
            this.quantity = value;
        }
    }
}

与其他数替换值你想获得指定数量时,不为0。


推荐问答