日期:2014-05-20  浏览次数:21177 次

如何克隆从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();
}
}