public bool EnumNames(IntPtr type) { object obj = get_typ(type, true); ResourceItems.CreateKey(get_typ(type, true)); return(EnumResourceNames(hModule, type, (EnumResNameLpProc)EnumNameProc, IntPtr.Zero)); }
public void categorize(List <res_table> data) { foreach (res_table rt in data) { if (!categories.ContainsKey(rt._t)) { categories.CreateKey(rt._t); } } }
static public System.Reflection.Assembly ListNamespaces( TreeView treeView1, ReferenceAssemblyElement refasm) { System.Reflection.Assembly asm = refasm.Assembly; List <Type> Types = new List <Type>(asm.GetExportedTypes()); List <TreeNode> Nodes = new List <TreeNode>(); treeView1.Nodes.Clear(); foreach (string ns in Mirror.GetNamespaces(asm)) { string names = ns == null?string.Empty:ns; DictionaryList <string, TreeNode> NodeSet = new DictionaryList <string, TreeNode>(); NodeSet.CreateKey("interface"); NodeSet.CreateKey("enum"); NodeSet.CreateKey("other"); NodeSet.CreateKey("ValueTypes"); TreeNode node0 = new TreeNode(ns); node0.Tag = names; foreach (Type t in Types) { if (t.IsInterface) { TypeGetInfo(treeView1, names, NodeSet["interface"], t); } else if (t.IsEnum) { TypeGetInfo(treeView1, names, NodeSet["enum"], t); } else if (t.IsValueType) { TreeNode tn = TypeGetInfo(treeView1, names, NodeSet["ValueTypes"], t); if (tn != null) { tn.ImageKey = tn.SelectedImageKey = ImageKeyNames.Field; } } else { TypeGetInfo(treeView1, names, NodeSet["other"], t); } } if (NodeSet["interface"].Count > 0) { foreach (TreeNode tn in NodeSet["interface"]) { node0.Nodes.Add(tn); } } else { NodeSet.Remove("interface"); } if (NodeSet["enum"].Count > 0) { foreach (TreeNode tn in NodeSet["enum"]) { node0.Nodes.Add(tn); } } else { NodeSet.Remove("enum"); } if (NodeSet["other"].Count > 0) { foreach (TreeNode tn in NodeSet["other"]) { node0.Nodes.Add(tn); } } else { NodeSet.Remove("other"); } if (NodeSet["ValueTypes"].Count > 0) { foreach (TreeNode tn in NodeSet["ValueTypes"]) { node0.Nodes.Add(tn); } } else { NodeSet.Remove("ValueTypes"); } if ((ns == null) || (ns == string.Empty)) { treeView1.Nodes.Add(node0); } else { Nodes.Add(node0); } } treeView1.Nodes.AddRange(Nodes.ToArray()); Nodes.Clear(); return(asm); }