0

我有这门课

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>();
}

但我只是不断得到

“问卷”不包含“问题”的定义,并且找不到接受“问卷”类型的第一个参数的扩展方法“问题”(您是否缺少 using 指令或程序集引用?)

我注意到我似乎可以打电话

questionnaire.QuestionNumber = 1;

即使我QuestionNumber多年前删除了该属性。

在参考之后,我可以看到Questionnaire.g.i.cs有一个QuestionNumber属性但没有Questions属性。

我尝试重新启动 VS,清理项目,重建项目,但这没有取得任何成果。

4

1 回答 1

2

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

于 2018-04-18T20:18:10.950 回答