void UpdateTypeTreeView() { if (InvokeRequired) { Invoke(new Action(UpdateTypeTreeView)); return; } trvMethodRoot.Nodes.Clear(); foreach (Type t in _methodTypes) { Type[] methodClassTypes = JFMethodFlow.AllChildClass(t); if (null != methodClassTypes) { foreach (Type methodCT in methodClassTypes) { JFCategoryLevelsAttribute[] categoryLevels = methodCT.GetCustomAttributes(typeof(JFCategoryLevelsAttribute), false) as JFCategoryLevelsAttribute[]; if (_IsUncategorized(categoryLevels)) { Add2Uncategorized(methodCT); } else { AddCategory(methodCT, categoryLevels[0].Levels); } } } } }