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

C#asp.netLinq

C# Problem Overview


I have created a class which holds three classes as properties:

public class Feeds
{
    public Rentals Rentals { get; set; }
    public Agent Agents { get; set; }
    public NorthwindService.ServiceReference1.File File { get; set; }
}

and I am using it like this:

var query = from r in ent.Rentals
            join a in ent.Agents on r.ListingAgentID equals a.AgentID
            select new Feeds
            {
                a.AgentID,
                a.Alias,
                a.Bio,
                a.Email,
                a.Fax,
                r.Firstname,
                r.IsStaff,
                r.Languages
            };

but I am getting the error:

>Cannot initialize type 'NorthwindService.WebForm1.Feeds' with a collection initializer because it does not implement 'System.Collections.IEnumerable' C:\Users\NorthwindService\NorthwindService\WebForm1.aspx.cs

Please suggest a solution.

C# Solutions


Solution 1 - C#

You are using here the collection initializer in C# :

new myClass{a,b,c} 

where myClass is a collection, and a,b,c will be inserted into this collection.

But, the notation you need to use is the object initializer:

new myClass{
   myProperty1 = a,
   myProperty2 = b,
   myProperty3 = c
}

where the member of a myClass will be initialized. Or maybe you need to use classic constructor and then change your bracket with parenthesis:

new myClass(a,b,c)

Solution 2 - C#

Should be:

var query = from r in ent.Rentals
           join a in ent.Agents on r.ListingAgentID equals a.AgentID
           select new Feeds
           {
                    Agents = a,
                    Rentals = r
           }

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionDotnetSparrowView Question on Stackoverflow
Solution 1 - C#remi bourgarelView Answer on Stackoverflow
Solution 2 - C#Piotr AuguscikView Answer on Stackoverflow