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继承的类对象?

解决方案 »

  1.   

    sunrobust(咸鱼-翻身理想不灭) 先生能否给个例子。
    确实被搞头痛了。重载clone()里面作什么?
      

  2.   

    实现深拷贝啊,比如节点的自定义信息部分,然后加上base.clone();
      

  3.   

    先memberwiseclone ,再将结点加入到树中。  2步
      

  4.   

    syeerzy(快乐永远*先天下之乐而乐*后天下之忧而忧*)MemberClone得到的节点无法加入到同层中,怎么办?
      

  5.   

    sunrobust(咸鱼---翻身理想不灭) :其实我继承类实际操作业务,但clone是在超类中实现
      

  6.   

    sunrobust(咸鱼---翻身理想不灭) :先谢了!
      

  7.   

    在你的类里添加这个方法:
    public  class TypicalConditionTreeNode:TreeNode
        {
    ...
    public override object Clone()
    {
    return base.Clone();
    }
        }
      

  8.   

    hbxtlhx(平民百姓) :谢谢。
    但结果还是一样...