原文地址:https://support.unity3d.com/hc/en-us/articles/207079263-What-is-CS1612-
症状
当尝试进入Play模式时,我得到了如下的错误:
error CS1612: Cannot modify a value type return value of `__’. Consider storing it in a temporary variable.
原因
出现CS1612错误的原因是值类型在赋值是复制过去的。当你从一个属性或者索引器取得一个值类型时,你得到的该物体的复制品,而不是对该物体本身的引用。由属性或者索引器返回的复制品并不会存储起来,因为属性或者索引器实质上是一些方法,而不是存储空间(变量)。
本例子的错误信息如下:
error CS1612: Cannot modify a value type return value of `UnityEngine.Transform.position’. Consider storing it in a temporary variable.
解决方案
通过把复制体存储到变量里,然后你就可以改变它,这样就能解决CS1612错误。