You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unity中Switch语句使用静态对象报错的问题排查

问题解决:Switch/Case中使用静态对象的语法错误

你的代码核心问题是switch的case标签语法错误,在每个case里重复写了Direction类型名,导致编译器无法正确解析。

错误原因

case标签中不需要重复声明类型,直接通过类名.静态成员名引用即可,你写的case Direction Direction.EAST属于语法冗余,触发了CS1003等解析错误。

修正后的代码

private Position getStartingPosition(Direction direction) {
    switch (direction) {
      case Direction.EAST:
        return new Position(-1, height / 2);
      case Direction.NORTH:
        return new Position(width / 2, height);
      case Direction.WEST:
        return new Position(width, height / 2);
      case Direction.SOUTH:
        return new Position(width / 2, -1);
      default:
        throw new System.Exception("Impossible");
    }
}

补充说明

你的Direction类通过静态只读字段定义了方向实例,在switch判断时,直接使用Direction.EAST这类静态成员作为case值即可,编译器会正确匹配传入的direction参数。

内容的提问来源于stack exchange,提问作者nurp

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 06:15:37