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

g.i.cs文件类未更新,访问Questionnaire类Questions属性报错求助

解决‘Questionnaire’不包含‘Questions’定义的问题

首先咱们先揪出最直接的错误根源——你只声明了Questionnaire类型的变量,但完全没有实例化对象!

看你这段代码:

Questionnaire questionnaire; // 只是声明了变量,还没创建实际的对象实例
protected override async Task OnInitAsync() {
    questionnaire.Questions = new List<Question>(); // 此时questionnaire是null,自然找不到属性
}

第一步:修复对象实例化问题

你需要先创建Questionnaire的实例,再去访问它的Questions属性,两种写法都可以:

// 写法一:声明变量时直接实例化
Questionnaire questionnaire = new Questionnaire();

protected override async Task OnInitAsync() {
    questionnaire.Questions = new List<Question>();
}

// 写法二:在OnInitAsync方法内先初始化对象
Questionnaire questionnaire;

protected override async Task OnInitAsync() {
    questionnaire = new Questionnaire(); // 先创建实例
    questionnaire.Questions = new List<Question>();
}

第二步:解决g.i.cs文件未更新的问题

g.i.cs是IDE自动生成的代码文件(通常和Razor视图编译相关),出现未更新的问题大多是编译缓存或项目同步异常导致的,试试这些操作:

  • 清理解决方案:点击Visual Studio顶部菜单的生成 -> 清理解决方案
  • 重建项目:清理完成后,点击生成 -> 重建解决方案
  • 手动删除bin/obj文件夹:找到项目目录下的bin、obj文件夹,删除后重新生成项目
  • 重启Visual Studio:有时候IDE的缓存会卡住,重启后再重新编译

另外还要检查两个细节:

  • 确保Questionnaire类所在的命名空间已经被正确引用到当前页面的代码文件中
  • 确认Questionnaire类本身没有语法错误(如果类编译失败,也会导致找不到属性的错误)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:41:17