Описание
Используемый в сочетании с ReadOnlyAttribute, WriteAccessRequiredAttribute позволяет указать, для вызова какого метода и свойства структуры требуется доступ на запись.
Добавляя атрибут ReadOnly к собственному контейнеру, вы указываете, что в этом контейнере могут выполняться только операции чтения данных. В этом случае нельзя использовать методы и свойства контейнера, изменяющие массив. Атрибут WriteAccessRequired указывает, какие методы и свойства нельзя использовать в контейнере с аннотацией ReadOnly.
using Unity.Collections.LowLevel.Unsafe;
using Unity.Collections;
using UnityEngine;
[NativeContainer]
public struct MyList where T : struct
{
public int Length { get; private set; }
[WriteAccessRequired]
public void Grow(int capacity)
{
// ...
}
}
public class MyMonoBehaviour : MonoBehaviour
{
[ReadOnly]
MyList readOnlyList;
MyList writableList = new MyList();
public void OnUpdate()
{
writableList.Grow(10); // Ok
readOnlyList.Grow(10); // Illegal
}
}