读书人

怎么克隆从TreeNode继承的类对象

发布时间: 2012-03-22 17:43:57 作者: rapoo

如何克隆从TreeNode继承的类对象?
public class TypicalConditionTreeNode:TreeNode
{
public TypicalConditionTreeNode(){}

public void AddOrNode()
{
TypicalConditionTreeNode node = (TypicalConditionTreeNode)Clone();
node.Text = "条件 ";
this.Parent.Nodes.Insert(0, node);
}
}


TypicalConditionTreeNode node = (TypicalConditionTreeNode)Clone();
出错。没有为该对象定义无参数的构造函数。

如果用memberwiseclone则无法将该节点加入到树中。

哪位大虾能告诉我如何克隆从TreeNode继承的类对象?

[解决办法]
自己定义一下Clone()函数.
[解决办法]
实现深拷贝啊,比如节点的自定义信息部分,然后加上base.clone();
[解决办法]
先memberwiseclone ,再将结点加入到树中。 2步
[解决办法]
在你的类里添加这个方法:
public class TypicalConditionTreeNode:TreeNode
{
...
public override object Clone()
{
return base.Clone();
}
}

读书人网 >C#

热点推荐