代码检查:不支持装箱操作
Unity 的 Burst 编译器不支持将值类型装箱为 object 或接口引用。 当结构体或基本类型隐式转换为 object 、传递给期望 object 的 API 或以其他方式作为托管引用处理时,可能会发生此情况。
示例
在此示例中, value 整数被赋值给 Burst 编译作业中的 object 变量。 该操作需要装箱,因而不被支持。
using Unity.Burst;
using Unity.Jobs;
[BurstCompile]
public struct ExampleJob : IJob
{
public int value;
public void Execute()
{
// Reported: Boxing operations are not supported in Burst
object boxed = value;
}
}
using Unity.Burst;
using Unity.Jobs;
[BurstCompile]
public struct ExampleJob : IJob
{
public int value;
public void Execute()
{
// Keep the value in its original unmanaged form
int copy = value;
}
}
快速修复
此检查不提供专用快速修复。 请手动修复,将装箱转换移除,并保持代码使用 Burst 兼容的非托管类型。
2026年 5月 8日