防止變數引用丟失 FormerlySerializedAs
阿新 • • 發佈:2018-11-24
一般的用法:重新命名某public或[Serialized]的欄位後,會導致引用丟失,在重新命名之前加上該標籤儲存引用則可以避免。
防止重新命名變數後丟失引用
using UnityEngine;
using UnityEngine.Serialization;
public class MyClass : MonoBehaviour
{
// 舊的變數名為myValue,重新命名為myNewValue
[FormerlySerializedAs("myValue")]
public string myNewValue;
}
官方示例:將欄位改為屬性後,防止引用丟失
using UnityEngine;
using UnityEngine.Serialization;
public class MyClass : MonoBehaviour
{
// 將欄位m_MyValue改為屬性myValue,並防止丟失其引用
[FormerlySerializedAs("myValue")]
string m_MyValue;
public string myValue
{
get { return m_MyValue; }
set { m_MyValue = value; }
}
}