类似于TreeView实例与副本实例之间的操作问题
首先,有了一个实例A ,继承自大致如下的类
public class TreeNode
{
public string Name{get;set;}
public object Tag{get;set;}
private IList<TreeNode> children;
public IList<TreeNode> Children
{
get
{
if (children == null)
children = new List<TreeNode>();
return children;
}
}
}
比如 实例A 有如下的节点关系
A1
B1 B2
C1 C2 C3
(B1 下有 c1 c2 c3三个节点 B2下的空的)
然后 新建实例B ,B=A
然后对实例B进行操作。 如更改节点属性的值等等,现在以Tag属性为例
对B操作完后 ,比如这里 B实例的B2 , C2的Tag 进行了操作, 就需要把B实例操作过的节点Tag里的值给A实例对应的节点的Tag。这里就应该是B.B2.Tag 给 A.B2.Tag
实例A 与实例B 之间的模型结构是一只的,数据层次也关系位置都是一致的。唯一不同的是实例A和实例B里面属性的值
这里就是需要吧实例B中某个节点的Tag属性对应的值 给A 实例 对应的节点的Tag属性。
对于Name的赋值都没有限制 .
请问这问题怎么弄 ?
PS :在不修改其模型结构的前提下