我有一个Entry
类,我想通过它向 WPF 中的 Gridview 公开数据(通过List<Entry>
)。我需要在 Gridview 中为Entry
对象的每个属性设置一列(也为 的每个条目获取一列propsA3
),但我不确定如何为数组定义 getter/setter 方法以便始终获取/设置属性的基础数据。
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;
}
我想要的PropsA3
具有以下获取/设置行为:
Entry e;
得到:
int a = e.propsA3[i];
=> a = oA.getVal3(listB[i])
;
设置:
e.propsA3[i] = 5;
=> oA.setVal3(listB[i], val)
;
这可能吗?如何实现这一点,或者我必须如何更改类设计才能获得预期的结果?