Comment utiliser la reflection pour créer une liste générique avec une classe personnalisée (List )? Je dois pouvoir append des valeurs et utiliser propertyInfo.SetValue(..., ..., ...)
pour le stocker. Aurais-je intérêt à stocker ces listes dans une autre structure de données?
Modifier:
J’aurais dû préciser que l’object ressemble davantage à ceci, mais la réponse de Marc Gravell fonctionne toujours.
class Foo { public List Bar { get; set; } }
class Foo { public ssortingng Bar { get; set; } } class Program { static void Main() { Type type = typeof(Foo); // possibly from a ssortingng IList list = (IList) Activator.CreateInstance( typeof(List<>).MakeGenericType(type)); object obj = Activator.CreateInstance(type); type.GetProperty("Bar").SetValue(obj, "abc", null); list.Add(obj); } }
Voici un exemple de conversion du type List <> en List
var list = typeof (List <>). MakeGenericType (typeof (string));