【发布时间】:2013-06-26 12:28:46
【问题描述】:
我有一个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);
这可能吗?如何实现这一点,或者我必须如何更改类设计才能获得预期的结果?
【问题讨论】:
标签: c#