J'ai une requête LinqToXml suivante:Comment rendre dynamique un nom de propriété de type anonyme?
var linqDoc = XDocument.Parse(xml);
var result = linqDoc.Descendants()
.GroupBy(elem => elem.Name)
.Select(group => new
{
TagName = group.Key.ToString(),
Values = group.Attributes("Id")
.Select(attr => attr.Value).ToList()
});
Est-il possible d'une certaine manière à rendre le champ de mon type anonyme qu'il soit la valeur de la variable, afin qu'il puisse être aussi (ne fonctionne pas):
var linqDoc = XDocument.Parse(xml);
var result = linqDoc.Descendants()
.GroupBy(elem => elem.Name)
.Select(group => new
{
group.Key.ToString() = group.Attributes("Id")
.Select(attr => attr.Value).ToList()
});
Vous voulez nommer dinamically les champs du type? Dites 'a' est une instance de ce type anonyme. Comment obtenez-vous la valeur de ce champ maintenant, si vous ne connaissez pas son nom? – dcastro
Non *. Même si ce serait possible, comment auriez-vous accès au domaine? – sloth
Envisagez d'utiliser 'Dictionary' à la place; il est facile de créer avec la méthode 'ToDictionary'. – sloth