修改变量“属性或索引器''无法分配给 - 它是只读的”时出错

本文关键字:只读 出错 属性 变量 索引 修改 分配 | 更新日期: 2023-09-27 17:57:00

我正在开发一个带有以下代码的游戏:

[SerializeField, FixedNumber]
        private long _speed = FixedMath.One * 4;
        public virtual long Speed
        {
            get { return _speed ; }
        }

我需要在运行时更改Speed。但是我得到了这个错误:

不能将"XXX"分配给(它是只读的)

我可以在inspector中进行更改.但是我需要用脚本更改它。我该怎么做?

修改变量“属性或索引器''无法分配给 - 它是只读的”时出错

get { return _speed; }

只读的,因为你只有get访问器,它只允许你获取value。若要写入 Speed 属性,还必须包含 set 访问器。

private long _speed = FixedMath.One * 4;
public virtual long Speed
{
    get { return _speed; }
    set
    {
        _speed = value;
    }
}