ti-enxame.com

Não é possível inicializar o tipo '' com um inicializador de coleção porque não implementa 'System.Collections.IEnumerable'

Eu criei uma classe que possui três classes como propriedades:

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

e eu estou usando assim:

   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
               }

mas estou recebendo erro:

Não é possível inicializar o tipo 'NorthwindService.WebForm1.Feeds' com um inicializador de coleção porque não implementa 'System.Collections.IEnumerable' C:\Users\NorthwindService\NorthwindService\WebForm1.aspx.cs

Por favor, sugerir solução

38
DotnetSparrow

Deveria estar:

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
           }
40
Piotr Auguscik

Você está usando aqui o inicializador de coleção em C #:

new myClass{a,b,c} 

onde myClass é uma coleção e a, b, c serão inseridos nessa coleção.

Mas, a notação que você precisa usar é o inicializador de objeto:

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

onde o membro de um myClass será inicializado. Ou talvez você precise usar o construtor clássico e depois alterar seu colchete entre parênteses:

new myClass(a,b,c)
54
remi bourgarel