对成员对象使用集合属性
本文关键字:集合 属性 成员对象 | 更新日期: 2023-09-27 18:04:25
如果我有一个集合,比如Cells
,如果引用Cells[1,1]
,它会给我一个该集合的对象,但成员对象没有集合对象具有的某些属性。是否有从成员中调用该属性的方法?如下所示,假设StartPosition
是该集合的对象类的一个属性:
细胞[1]。起动位置
或者
细胞[1].ParentCollection.StartPosition
您只能调用在您正在访问的对象上定义的属性。
也就是说,如果你想在集合上调用一个方法,就在集合上调用它,而不是在集合的内容上调用它。
你可以为你放入其中的每个项添加一个对包含集合的引用,如果你这样设计和构造你的类的话。
注意:
你的符号是数组符号,用于二维数组。虽然数组是集合,但大多数。net集合不被认为是数组,即使它们有索引器。
您可以将其包装在Cell
或您返回的属性中。所以你要把这个添加到Cell
类:
public int StartPosition {
get { return this.ParentCollection.StartPosition; }
}
如果你不能改变类,你可以添加一个扩展方法,例如:
public static class CellExtensions {
public static int GetStartPosition(this Cell cell) {
return cell.ParentCollection.StartPosition;
}
}