gpt4 book ai didi

c# - 如何覆盖 TreeNode.Clone() 方法?

转载 作者:行者123 更新时间:2023-12-02 22:22:13 25 4
gpt4 key购买 nike

我有自己的类 MyTreeNode 派生自 TreeNode:

public class MyTreeNode : System.Windows.Forms.TreeNode
{
[Localizable(true)]
public bool Foo { get; set; }
}

我尝试克隆节点:

MyTreeNode myTreeNode = new MyTreeNode();
myTreeNode.Foo = foo;
//
//And here is the problem, all fields have been copied to the new node but Foo
//
MyTreeNode newNode = (MyTreeNode)myTreeNode.Clone();

结果,newNodeFoo 字段为空。我该如何解决这个问题?

最佳答案

如果您希望在调用 Clone() 时也复制 Foo,则需要覆盖 Clone() 方法并添加这样做的逻辑。

您需要做的就是将其添加到您的 MyTreeNode 类中:

public override object Clone()
{
var obj = (MyTreeNode)base.Clone();
obj.Foo = this.Foo;
return obj;
}

关于c# - 如何覆盖 TreeNode.Clone() 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13541472/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com