Class 未在 g.i.cs 文件中更新

Class not updated in g.i.cs file

我有这个class

public class Questionnaire
{
    public List<Question> Questions { get; set; }

    public Question this[int i]
    {
        get { return Questions[i]; }
    }
}

我正尝试在我的页面上使用它

Questionnaire questionnaire;

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

但我不断得到

'Questionnaire' does not contain a definition for 'Questions' and no extension method 'Questions' accepting a first argument of type 'Questionnaire' could be found (are you missing a using directive or an assembly reference?)

我注意到我 可以 似乎调用

questionnaire.QuestionNumber = 1;

尽管我很久以前就删除了 QuestionNumber 属性。

根据参考,我可以看到在 Questionnaire.g.i.cs 中有一个 QuestionNumber 属性 但没有 Questions 属性.

我尝试重新启动 VS、清理项目、重建项目,但没有任何效果。

我怀疑您有一个也称为问卷 (Questionnaire.cshtml) 的页面。在 Blazor 应用程序中,每个 .cshtml 文件用于在构建时生成一个与 .cshtml 文件同名的 class。因此,您可能有两个问卷 classes:一个是您自己定义的,另一个是从问卷文件生成的。重命名两个 class 之一应该可以解决问题。