我有这个:
public abstract class DRT_Tvw_Abstract : TreeView
{
TableCountMetrics metrics;
public TableCountMetrics Metrics { get => metrics; set => metrics = value; }
public class TableCountMetrics
{
int schemaNameCount = 0;
int tableNameCount = 0;
public int SchemaNameCount { get => schemaNameCount; set => schemaNameCount = value; }
public int TableNameCount { get => tableNameCount; set => tableNameCount = value; }
}
public DRT_Tvw_Abstract() : base()
{
}
}
public class DRT_Tvw_TableList_Unfiltered : DRT_Tvw_Abstract
{
public DRT_Tvw_TableList_Unfiltered() : base()
{
}
public void _CreateTreeView(DataTable dataTable)
{
tableListTreeViewNode = new {treeview node from my class that derives from TreeNode}
Nodes.Add(tableListTreeViewNode);
}
我想要做的是override
方法Add
,这样我就可以同时增加/减少属于我的类的自定义整数DRT_Tvw_Abstract
属性。我开始尝试从类派生,但这似乎是一个死胡同,因为我无法弄清楚该类的有效 ctor 是什么Add
TreeNode
TreeNodeCollection
TreeNodeCollection
Nodes
(如Nodes.Add
)是一个属性。我如何从中派生,以便我可以覆盖该Add
方法?我首先为此 poprperty 创建了一个覆盖,但我不知道如何Add
从属性覆盖代码中覆盖一个方法 ()。
public new virtual TreeNodeCollection Nodes
{
//override the Add method from within here somehow?
get
{
return base.Nodes;
}
set
{
}
}
重写 TreeNodeCollection 类 Add(TreeNode) 方法的语法是什么?