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 之一应该可以解决问题。
我有这个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 之一应该可以解决问题。