private IDictionary GetVisitors(Type baseType) { IDictionary visitors = new SortedList(); foreach (Type type in Discovery.GetClassInheritedFrom(baseType)) { if (!type.IsAbstract && type.Name != "SemanticVisitor" && type.Assembly != Assembly.GetExecutingAssembly()) { string transoferMode = GetMode(type); if ((transoferMode == null || transoferMode == Mode) && GetAttribute(type, typeof(ExplicitAttribute)) == null) { visitors.Add(type.FullName, type); } } } return(visitors); }