J'ai une classe Entry
, à travers lequel je veux exposer des données à un Gridview dans WPF (via un List<Entry>
). Je dois avoir une colonne dans le Gridview pour chaque propriété de l'objet Entry
(aussi obtenir une colonne pour chaque entrée de propsA3
), mais je ne suis pas sûr de savoir comment définir les méthodes getter/setter pour le tableau afin de toujours obtenir/définir les propriétés des données sous-jacentes.Get/Set méthode pour les propriétés de tableau
public Entry
{
private ObjA oA;
private ObjB[] listB;
public int PropA1 {get {return oA.Prop1;} set {oA.Prop1 = value;}}
public int PropA2 {get {return oA.Prop2;} set {oA.Prop1 = value;}}
public int[] propsA3;
}
public ObjA
{
public int Prop1 {get, set};
public int Prop2 {get, set};
public int getVal3(ObjB b) {return calSomethin(b);}
public int setVal3(ref ObjB b, int val) { /*do something to ObjB*/}
}
public ObjB
{
Byte[] data;
}
Ce que je veux pour PropsA3
ont une présentation/comportement ensemble de ce qui suit:
Entry e;
Get: int a = e.propsA3[i];
=>a = oA.getVal3(listB[i])
;
Ensemble: e.propsA3[i] = 5;
=>oA.setVal3(listB[i], val)
;
Est-ce possible? Comment atteindre cet objectif ou comment dois-je changer la conception de la classe pour obtenir le résultat souhaité?
Remerciements s pour la réponse. Je ne suis pas en train de devoir accéder à 'e.propsA3 [i]' mais je pensais que mon modèle de vue aurait un 'List
kiki
Si vous savez ce que les propriétés seront, alors je suggère de les ajouter tous explicitement, ou si ce n'est pas vraiment ce que vous voulez, peut-être regarder à l'aide d'un DataTable ou autre équivalent du dictionnaire –