修改变量"属性或索引器''无法分配 - 它是只读的#34;

时间:2016-07-15 05:59:08

标签: c# unity3d

我正在开发一个像这样的代码的游戏:

[SerializeField, FixedNumber]
        private long _speed = FixedMath.One * 4;

        public virtual long Speed
        {
            get { return _speed ; }
        }

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

  

`XXX'无法分配(只读)

我可以在inspector进行更改。但是我需要用脚本来改变它。我怎么能这样做?

1 个答案:

答案 0 :(得分:3)

get { return _speed; } 只读,因为您只有get访问者,只允许您获得value。为了能够写入Speed属性,您还必须包含set访问者。

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