1. 程式人生 > >防止變數引用丟失 FormerlySerializedAs

防止變數引用丟失 FormerlySerializedAs

一般的用法:重新命名某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; }
    }
}