首页 > 解决方案 > 在 Unity 中重命名序列化的自动属性

问题描述

我有一个在 Inspector 上序列化的自动属性,我需要在不丢失序列化值的情况下重命名它,通常我会为此使用 [FormerlySerializedAs(previousName)] 属性,问题是它不适用于自动属性,有人对此有任何见解吗?

我的代码:

public class Test : MonoBehaviour
{
    [field: SerializeField]
    [field: FormerlySerializedAs("previousName")]
    public Transform FieldIWantToRemainSerialized { get; private set; }
}

标签: c#unity3dserializationpropertiesrename

解决方案


有点晚了,但也许有人会发现这很有用,你需要使用这个:

[field: FormerlySerializedAs("<previousName>k__BackingField")]

推荐阅读