J'ai cette classe
public class Questionnaire
{
public List<Question> Questions { get; set; }
public Question this[int i]
{
get { return Questions[i]; }
}
}
Et j'essaie de l'utiliser sur ma page avec
Questionnaire questionnaire;
protected override async Task OnInitAsync()
{
questionnaire.Questions = new List<Question>();
}
Mais je continue à obtenir
'Questionnaire' ne contient pas de définition pour 'Questions' et aucune méthode d'extension 'Questions' acceptant un premier argument de type 'Questionnaire' n'a pu être trouvée (vous manque une directive d'utilisation ou une référence d'assemblage?)
J'ai remarqué que je peux sembler appeler
questionnaire.QuestionNumber = 1;
Même si j'ai supprimé la propriété QuestionNumber
bien longtemps.
Après la référence, je peux voir que dans Questionnaire.gics
il existe une propriété QuestionNumber
mais pas de propriété Questions
.
J'ai essayé de redémarrer VS, de nettoyer le projet, de reconstruire le projet mais cela n'a rien donné.
Je pense que vous avez une page qui s'appelle également Questionnaire (Questionnaire.cshtml). Dans les applications Blazor, chaque fichier .cshtml est utilisé pour générer une classe qui porte le même nom que le fichier .cshtml lors de la génération. Donc, vous avez probablement deux classes de Questionnaire: celle que vous avez définie vous-même et celle générée à partir du fichier Questionnaire. Renommer l'une des deux classes devrait résoudre le problème.