У меня есть это:
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
класса, в то же время я Add
a TreeNode
. Я начал с попытки унаследовать от класса TreeNodeCollection
, но это, кажется, тупик, потому что я не могу понять, каков действительный ctor для 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
{
}
}
Каков синтаксис для переопределения метода Add (TreeNode) класса TreeNodeCollection?