public struct QueryForm
{
private List<MenuInfo> menus;
public List<MenuInfo> Menus
{
get
{
if (menus == null)
{
menus = new List<MenuInfo>();
}
return menus;
}
set
{
menus = value;
}
}
}
public static Dictionary<string, QueryForm> Query = new Dictionary<string, QueryForm>();
public static Dictionary<string, MenuInfo> Menus = new Dictionary<string, MenuInfo>();
//实现下面这个算法的时候添加
if (treeView1.SelectedNode != null)
{
string query = "Menu" + mecount.ToString(); treeView1.SelectedNode.Text = "Menu" + mecount.ToString();
treeView1.SelectedNode.Tag = kongzhi.loMe(NodeInfo, ref mecount);
Menus.Add(query, (MenuInfo)treeView1.SelectedNode.Tag); if (treeView1.SelectedNode.Parent.Text.Substring(0, 9).Equals("QueryForm"))
{ //这里无法添加到Query
Query[treeView1.SelectedNode.Parent.Text].Menus.Add(Menus[query]);
}
Op.Clear();
}如何在Query里面添加一条menu
{
private List<MenuInfo> menus;
public List<MenuInfo> Menus
{
get
{
if (menus == null)
{
menus = new List<MenuInfo>();
}
return menus;
}
set
{
menus = value;
}
}
}
public static Dictionary<string, QueryForm> Query = new Dictionary<string, QueryForm>();
public static Dictionary<string, MenuInfo> Menus = new Dictionary<string, MenuInfo>();
//实现下面这个算法的时候添加
if (treeView1.SelectedNode != null)
{
string query = "Menu" + mecount.ToString(); treeView1.SelectedNode.Text = "Menu" + mecount.ToString();
treeView1.SelectedNode.Tag = kongzhi.loMe(NodeInfo, ref mecount);
Menus.Add(query, (MenuInfo)treeView1.SelectedNode.Tag); if (treeView1.SelectedNode.Parent.Text.Substring(0, 9).Equals("QueryForm"))
{ //这里无法添加到Query
Query[treeView1.SelectedNode.Parent.Text].Menus.Add(Menus[query]);
}
Op.Clear();
}如何在Query里面添加一条menu
还有就是你在dictionary取出内容之前判断下存不存在啊
存在了在取 不然会抛错的
,发现dictionary里面没有menu的值
,发现dictionary里面没有menu的值
这个也没人愿意慢慢给你debug代码的
没有值 可能是每次都new了下 重新初始化了 也不一定把
Query.Add(Key,Value)
快速监控了n次~,表示里面有key,还有value,主要是添加的时候,Query里面的List Menus的值添加不了
原来是我用了struct定义QuerForm,class定义可以直接用来引用,struct用get。set会重新调用另外一个QueryForm结构的menus,不会直接引用他,所以他不会添加。