J'ai un objet de collection de hiérarchie dans lequel j'essaie de récupérer la propriété de l'objet de dernier niveau dans Linq. Je ne veux pas écrire une méthode get pour chaque propriété. Je ne sais pas comment y parvenir grâce au sélecteurPropriété générique getter dans Linq
Class Test {
public int ID { get; set; }
public int PopertyA { get; set; }
public string PopertyB { get; set; }
...Many more properties
}
public static TResult GetTest(hierarchyObject, int ID, Func<TSource, TResult> selector)
{
return (from level1 in hierarchyObject.Level1
from test in level1.Test
where test.ID.Equals(ID)
select selector).First();
}
Ce travail de dint. Actuellement, j'ai fait la méthode pour retourner l'objet de test et accéder aux propriétés de la méthode appelante. Mais je voulais savoir si je pouvais implémenter un getter de propriété générique.
Edit:
Class Hierarcy{
public IList<Level1> level1;
}
Class Level1 {
public IList<Test> test;
}
Étant donné un objet et test.ID hierachy, je veux récupérer une propriété de test.
Je l'ai lu à travers 5 fois et ne comprends toujours pas ce que vous essayez de faire ... – cjk
Vous ne donnaient pas suffisamment détails. Comment votre "hiérarchie" est-elle organisée? Quel est le type de 'Level1'? S'il y a une sous-propriété nommée 'Level2' ou' Level3', de quel type s'agit-il? Que signifie "dernier niveau"? – Groo
hierarchyObject a une collection de Level1 qui a une collection de Test – anivas