J'ai créé une classe qui contient trois classes en tant que propriétés:
public class Feeds
{
public Rentals Rentals { get; set; }
public Agent Agents { get; set; }
public NorthwindService.ServiceReference1.File File { get; set; }
}
et je l'utilise comme ceci:
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
}
mais je reçois une erreur:
Impossible d'initialiser le type 'NorthwindService.WebForm1.Feeds' avec un initialiseur de collection car il n'implémente pas 'System.Collections.IEnumerable' C:\Users\NorthwindService\NorthwindService\WebForm1.aspx.cs
Veuillez suggérer une solution
Devrait être:
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
}
Vous utilisez ici l'initialiseur de collection en C #:
new myClass{a,b,c}
où myClass est une collection et a, b, c seront insérés dans cette collection.
Mais, la notation que vous devez utiliser est l'initialiseur d'objet:
new myClass{
myProperty1 = a,
myProperty2 = b,
myProperty3 = c
}
où le membre d'une myClass sera initialisé. Ou peut-être devez-vous utiliser un constructeur classique puis changer votre parenthèse avec des parenthèses:
new myClass(a,b,c)