假设我有一堂这样的课:
[System.Serializable]
public class Item {
private Transform _transform;
private float _value;
}
Run Code Online (Sandbox Code Playgroud)
我想使用 BinaryFormatter 序列化此类。我无法序列化Transform组件,因此我需要在序列化时忽略它,但我仍然需要此_transform字段在检查器中可见。在此示例中,仅应序列化字段_value 。
如果我在_transform字段上使用[System.NonSerialized],它将在 Unity 检查器中不可见,如果我使用[SerializeField],我无法使用 BinaryFormatter 序列化 Transform。
看起来有点像悖论……可以这样做吗?