DataGridViewCell.Datagridview属性如何设置?

时间:2012-04-02 14:30:30

标签: .net oop collections datagridview

DatagridviewCell.Datagridview属性是只读的。同样适用于具有Datagridview引用的其他datagridview元素,如行和列。然而,当您从datagridview添加/删除元素时,此属性在幕后正确设置,因此父数据网格视图对其元素的引用之间从不存在任何不一致,反之亦然。

datagridview如何实现这一目标?我正在尝试自己做类似的事情。我所知道的唯一“技巧”是将集合定义放在类定义中,反之亦然,这样元素或集合就可以访问其他私有字段,但是查看datagridview名称空间似乎并非如此。

1 个答案:

答案 0 :(得分:0)

DateGridView正在使用“内部”访问修饰符。您可能知道,有4种不同的访问修饰符。

public    string MyPetPeeve
private   string MyPetPeeve
protected string MyPetPeeve
internal  string MyPetPeeve

以下是访问修饰符行为的快速摘要:

公开:任何想要了解的人都可以访问MyPetPeeve。

private:MyPetPeeve只能从包含它的类或结构中访问。

protected:包含它的类或结构可以访问MyPetPeeve。 PLUS,从包含类的MyPetPeeves派生的任何类。

internal:MyPetPeeve可供同一程序集中存在的任何类或结构访问。例如,DataGridView存在于System.Windows.Forms程序集中,因此在System.Windows.Forms中找到的任何类或结构都可以更改DatagridviewCell.Datagridview属性。对于System.Windows.Forms以外的任何其他人,在这种情况下:你,它似乎是私有的。