S'il vous plaît voir un exemple de mon code ci-dessous:C# Constructor Problème lors de l'utilisation Generics
CODE MISE À JOUR
public class ScrollableCheckboxList
{
public List<ScrollableCheckboxItem> listitems;
public ScrollableCheckboxList<TModel>(IEnumerable<TModel> items, string valueField, string textField, string titleField) where TModel : class
{
listitems = new List<ScrollableCheckboxItem>();
foreach (TModel item in items)
{
Type t = typeof(TModel);
PropertyInfo[] props = new [] { t.GetProperty(textField), t.GetProperty(valueField), t.GetProperty(titleField) };
listitems.Add(new ScrollableCheckboxItem
{
text = props[0].GetValue(item, null).ToString(),
value = props[1].GetValue(item, null).ToString(),
title = props[2].GetValue(item, null).ToString()
});
}
}
}
EDIT Corrections de constructeur déclaration faite! Encore un problème avec ce code si
Le code ne compilera pas - il se présente avec beaucoup d'erreurs étranges qui me font penser qu'il y a un problème de conception ici?
Un oubli stupide! Merci d'avoir fait remarquer cela. – Jimbo
J'ai mis à jour le code ci-dessus, il ne compilera toujours pas et je ne comprends pas pourquoi (sans erreur définitive du compilateur!) – Jimbo
Ok, trouvé le problème, la déclaration de classe doit définir l'objet générique TModel, pas le constructeur. Merci pour votre contribution. – Jimbo