问题:请指点怎么才能声明KeyValue的实力,添加完子结点后,对应的子结点能够找到他的Parent
类似于TreeNode 一样!!!!!!/// 键值对结构
public class KeyValue
{
public KeyValue()
{
m_Key = null;
m_Value= null;
}private object m_Key;
private object m_Value;
private KeyValueCollection m_Collection;
// 键
public object OKey
{
get
{
return m_Key;
}
set
{
m_Key = value;
}
}// 值
public object OValue
{
get
{
return m_Value;
}
set
{
m_Value = value;
}
}// 键值列表
public KeyValueCollection KeyValueCollection
{
get
{
return m_Collection;
}
set
{
m_Collection = value; 
}
}
}// 键值对集合
public class KeyValueCollection:System.Collections.CollectionBase
{
public KeyValueCollection()
{}// 设置或获取指定位置的值键对
public KeyValue this[int Index]
{
get
{
return (KeyValue)List[Index];
}
set
{
List[Index] = value;
}
}// 获取包含指定键的值键对集合
public KeyValueCollection this[object Key]
{
get
{
KeyValueCollection m_kvCollection=new KeyValueCollection();
foreach( object obj in List)
{
if( ((KeyValue)obj).OKey.Equals(Key) )
{
m_kvCollection.Add((KeyValue)obj);
}
}
return m_kvCollection;
}
}// 添加值键对集合
public int Add(KeyValue Value)
{
return List.Add(Value);
}// 获得当前值键对的索引
public int IndexOf(KeyValue Value)
{
return List.IndexOf(Value);
}public void Insert(int Index,KeyValue Value)
{
List.Insert(Index,Value);
}public void Remove(KeyValue Value)
{
List.Remove(Value);
}
public bool Contains(KeyValue Value)
{
return List.Contains(Value);
}
}

解决方案 »

  1.   

    主要的就是这两个类 foyuan 
    KeyValue m_kv=new KeyValue();
    KeyValue m_kvTemp=(KeyValue)m_kv.KeyValueCollection[0];
    怎么处理能够得到m_kvTemp.Parent 结点。
    KeyValue  中需要声明一个Parent结点。
      

  2.   

    你那个CollectionBase类应该实现不了你的要求
    CollectionBase里面就是一个List
    List是线性的 应该只能得到前一个你所说的KeyValue类要实现指针的功能 指向双亲类,这个也不是很好实现,我觉得还是在Base类里面实现,也就是加入一个KeyValue就记录一下他的位置,这样应该好实现。
      

  3.   

    没有现成的,自己处理下,比如定义一个带parent的对象
      

  4.   

    Samen168 你说说你的涉及思路