Impossible d'implémenter le type XYZ avec un initialiseur de collection car il n'implémente pas 'System.Collections.IEnumerable'
J'ai la classe suivante:
public class CommentList
{
string ItemType;
string Comment1;
string Status1;
string DiscussionBoardId;
Guid CourseId;
Guid CommentID;
}
Je suis en train de faire le suivant LINQ déclaration:
List<CommentList> query=
from c in db.Comments
join s in db.Status on c.StatusId equals s.StatusId
join d in db.DiscussionBoards
on c.DiscussionBoardId equals d.DiscussionBoardId
where d.CourseId=="CourseID"
orderby d.ItemType, d.DiscussionBoardId
select new CommentList {
d.ItemType,
c.Comment1,
s.Status1,
c.DiscussionBoardId,
d.CourseId,
c.CommentID
};
Le problème est que l'éditeur est en se plaignant de la première parenthèse de l'instruction select. Il dit:
Ne peut pas mettre en œuvre le "type de CommentList' avec un initialiseur de collection, car il ne met pas en œuvre du Système".Les Collections.IEnumerable'.
Quelqu'un peut m'aider et me dire ce que je fais mal?
source d'informationauteur Kevin
Vous devez vous connecter pour publier un commentaire.
Faire vos champs
public
parce qu'ils ne sont pas accessibles comme ils sont maintenant.Et explicitement définies dans votre initialiseur.
Votre initialisation n'est pas correct. Vous avez besoin d'affecter des valeurs à l'explicite propriétés.
Juste un plus de suivi à mon commentaire. Ce que vous essayez de faire est de utiliser l'initialisation de l'objetce qui nécessite de nommer les propriétés. Ce qu'il pense que vous êtes d'essayer de le l'initialisation de collection
Vous pouvez déduire seulement des noms de propriété lors de la création de types anonymes.
Vous devez affecter explicitement vos propriétés: