JetBrains Rider 2026.1 Help

代码检查:DOTS: IAspect 字段必须为以下类型之一:RefRW、RefRO、EnabledRefRW、EnabledRefRO、DynamicBuffer 或 Entity

在 Unity DOTS (数据导向技术栈)中, IAspect 声明的字段类型必须遵循特定 ECS 模式。 此检查确保实现 Unity.Entities.IAspect 的结构体中的字段使用有效的访问器类型。

为什么这样有问题?

类型为实现 IComponentData 的结构体的字段,不能在 IAspect 中作为字段直接访问。 必须将其已包装为特定访问器类型,如 RefRW<T>RefRO<T> ,才能正确与 ECS 数据流交互。 在 Unity 的 DOTS 框架中,直接使用组件字段将导致编译或运行时错误。

有效的访问器类型

IAspect 结构体中,字段必须为以下类型之一:

  • RefRW<T> (读写引用)

  • RefRO<T> (只读引用)

  • EnabledRefRW<T> (可启用组件的读写引用)

  • EnabledRefRO<T> (可启用组件的只读引用)

  • DynamicBuffer<T>

  • Entity

修正方法

请用合适的访问器包装有问题的字段类型。 JetBrains Rider 提供了自动将字段包装为有效访问器的快速修复。 选择 EnabledRef 还是 Ref 访问器,取决于该组件类型是否实现 IEnableableComponent

public readonly SomeComponentData SomeField;
public readonly RefRO<SomeComponentData> SomeField;
2026年 5月 8日