Après un échantillon de mon code:C# réflexion sur le modèle générique classe
public abstract class<T>
{
public List<T> GetSomething(string q)
{
**List<T> list = new List<T>();**
Type type = typeof(T);
PropertyInfo[] props = type.GetProperties(BindingFlags.Public | BindingFlags.IgnoreCase | BindingFlags.Instance);
foreach (PropertyInfo info in props)
{
// at this point I need to return information from a data source query
// and build the members (set values) according to the returning results
// which needs to be added to a list that contains T with each property
// within set to a value. "Some Value" should be an object instance required
// by the Type of the PropertyInfo.
info.SetValue(type, "Some Value", null);
**list.Add(type);**
}
}
**return list;**
}
info.SetValue (objet, objet, objet []) n'est pas accessible, en raison du type de modèle, correct? Ma question ici serait, comment puis-je définir une valeur sur une propriété, contenue dans T?
Editer: La question me confondait même. J'ai modifié la procédure ci-dessus pour représenter mes besoins directs.
Merci, Eric
Quelle est votre cible? La propriété correspondant à "info" est-elle statique? Quel est l'objet sur lequel vous essayez de définir cette valeur de propriété? –
Votre question est trop confuse. – leppie
Qu'est-ce que cette méthode est censée faire exactement? En ce moment vous l'avez retourné une liste et appelé GetSomething, mais vous ne retournez rien et, en réalité, vous essayez de définir quelque chose au lieu de l'obtenir. –