Cannot implement type XYZ with a collection initializer because it does not implement 'System.Collections.IEnumerable'

asp.net, c#, collections, linq

Solution

Make your fields `public` because they are not accessible as they are now.

public class CommentList
{
  public string ItemType;
  public string Comment1;
  public string Status1;
  public string DiscussionBoardId;
  public Guid CourseId;
  public Guid CommentID;
}

And explicity set them in your initializer.

select new CommentList
{
    ItemType = d.ItemType,
    Comment1 = c.Comment1,
    Status1 = s.Status1,
    DiscussionBoardId = c.DiscussionBoardId,
    CourseId = d.CourseId,
    CommentID = c.CommentID
};

Problem

I have the following class: ``` public class CommentList { string ItemType; string Comment1; string Status1; string DiscussionBoardId; Guid CourseId; Guid CommentID; } ``` I'm trying to do the following LINQ statement: ``` 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 }; ``` The problem is, the editor is complaining on the first parenthesis of the select statement. It's saying: Cannot implement type 'CommentList' with a collection initializer because it does not implement 'System.Collections.IEnumerable'. Can someone help me out and tell me what I'm doing wrong?

Original source