J'ai une classe configurée comme ceci :
public class Summary
{
public Geometry geometry { get; set; }
public SummaryAttributes attributes { get; set; }
}
public class SummaryAttributes
{
public int SERIAL_NO { get; set; }
public string District { get; set; }
}
public class Geometry
{
public List<List<List<double>>> paths { get; set; }
}
et je prends une chaîne json d'enregistrements pour cet objet et je les mets là-dedans comme ça :
List<Summary> oFeatures = reportObject.layers[0].features.ToObject<List<Summary>>();
Mon objectif final est de créer un fichier csv. J'ai donc besoin d'une liste plate d'enregistrements à envoyer au rédacteur csv que j'ai. Je peux le faire :
List<SummaryAttributes> oAtts = oFeatures.Select(x => x.attributes).ToList();
et j'obtiens une belle liste d'attributs que j'envoie au format CSV. C'est simple comme bonjour.
Ce que je veux, c'est aussi extraire un champ de l'objet Geometry et l'inclure dans ma liste finale à envoyer au format CSV. Ainsi, la liste finale destinée à l'éditeur csv contiendrait des objets avec tous les champs de SummaryAttributes. plus les première et dernière valeurs doubles du champ paths de l'objet Geometry (paths[0][0][first] et paths[0][0][last])
C'est difficile à expliquer. Je veux greffer deux attributs supplémentaires sur l'objet SummaryAttributes original. Je serais d'accord pour créer une nouvelle classe SummaryAttributesXY avec les deux champs supplémentaires si c'est ce qu'il faut. Mais j'essaie d'éviter de créer un nouvel objet anonyme et de devoir délimiter chaque champ de la classe SummaryAttributes, car il y en a beaucoup plus que ce que j'ai énuméré dans cet exemple.
Des suggestions ?