Version: 2022.3

WriteAccessRequiredAttribute

class in Unity.Collections.LowLevel.Unsafe

切换到手册

描述

通过将 WriteAccessRequiredAttribute 与 ReadOnlyAttribute 结合使用,您就可以指定哪个结构方法和属性需要调用写入访问。

在原生容器中添加 ReadOnly 属性,即表明只能在此容器中执行读取数据的操作。在这种情况下,无法使用容器中用于修改数组的方法和属性。WriteAccessRequired 属性指示在带有 ReadOnly 注释的容器上无法使用哪些方法和属性。

using Unity.Collections.LowLevel.Unsafe;
using Unity.Collections;
using UnityEngine;

[NativeContainer] public struct MyList<T> where T : struct { public int Length { get; private set; }

[WriteAccessRequired] public void Grow(int capacity) { // ... } }

public class MyMonoBehaviour : MonoBehaviour { [ReadOnly] MyList<int> readOnlyList;

MyList<int> writableList = new MyList<int>();

public void OnUpdate() { writableList.Grow(10); // Ok readOnlyList.Grow(10); // Illegal } }