对成员对象使用集合属性

本文关键字:集合 属性 成员对象 | 更新日期: 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;
 }
}
相关文章: