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

Blazor RPS应用同命名空间下Enum无法找到的问题

Blazor石头剪刀布应用中同命名空间Enum无法识别的解决办法

问题场景

开发Blazor RPS应用时,创建了Options枚举类,和主文件同属RockPaperScissors.Client命名空间,但调用时提示找不到,而同命名空间的Hand类可正常使用。

排查及解决步骤

  • 检查Enum文件的生成操作
    右键Enum文件→属性,确认「生成操作」设置为编译,若设置为其他(如“内容”)会导致该文件不被编译,自然无法识别。

  • 清理重建项目
    依次执行:

    1. 右键解决方案→清理解决方案
    2. 右键解决方案→重建解决方案
    3. 重启IDE,避免缓存导致的识别异常
  • 校验命名空间一致性
    确认主文件和Enum文件的命名空间完全一致,C#对命名空间大小写敏感,检查是否存在拼写或大小写错误。

  • 尝试静态引用Enum
    在@code块顶部添加using static RockPaperScissors.Client.Options;,之后直接使用Rock、Paper等枚举值,验证是否能正常识别,以此排查命名空间引用问题。

相关代码

主文件:

@using RockPaperScissors.Client
@code
{
    List<Hand> OpponentHandOptions = new List<Hand>()
    {
        new Hand {Choice=Options.Rock, WinAgainst=Options.Scissors, LoseAgainst=Options.Paper, Image="Rock.png"},
        new Hand {Choice=Options.Paper, WinAgainst=Options.Rock, LoseAgainst=Options.Scissors, Image="Paper.png"},
        new Hand {Choice=Options.Scissors, WinAgainst=Options.Paper, LoseAgainst=Options.Rock, Image="Scissors.png"}
    };
}

Enum文件:

namespace RockPaperScissors.Client
{
    public enum Options
    {
        Rock, Paper, Scissors
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 04:01:55