public AssemblyInfo CollectAssemblyInfo(string path) { try { Assembly assembly = Assembly.LoadFrom(path); AssemblyInfo result = new AssemblyInfo(assembly.GetName().FullName); Type[] types = assembly.GetTypes(); foreach (Type type in types) { if (!type.IsNested) { NamespaceInfo nsi = null; if (type.Namespace != null) { string[] namespaces = type.Namespace.Split('.'); nsi = result.GetNamespace(type.Namespace); } else { nsi = new NamespaceInfo("No namespace"); } nsi.AddType(GenerateTypeInfo(type)); } } return(result); }catch (Exception) { return(null); } }
internal NamespaceInfo GetNamespace(string name) { NamespaceInfo result; if ((result = namespaces.Find(x => x.NamespaceName == name)) != null) { return(result); } result = new NamespaceInfo(name); namespaces.Add(result); return(result); }
internal override NamespaceInfo GetNamespace(string name) { NamespaceInfo result; if ((result = namespaces.Find(x => x.Name == name)) != null) { return(result); } result = new NamespaceInfo(name); namespaces.Add(result); OnPropertyChanged("Namespaces"); return(result); }
public AssemblyResult Browse(string filename) { Type[] types; NamespaceInfo searchResult; AssemblyResult _result = new AssemblyResult(); _asm = Assembly.LoadFrom(filename); types = _asm.GetTypes(); _result.Clear(); foreach (var type in types) { searchResult = _result.FindNamespace(type.Namespace); if (searchResult == null) { searchResult = new NamespaceInfo(type.Namespace); _result.AddNamespace(searchResult); } searchResult.AddClass(new ClassInfo(type)); } return(_result); }
public AssemblyInfo Browse(string filename) { Assembly assembly; AssemblyInfo result = new AssemblyInfo(); Type[] types; NamespaceInfo searchableNamesapce; assembly = Assembly.LoadFrom(filename); types = assembly.GetTypes(); foreach (var type in types) { searchableNamesapce = result.Namespaces.Find(i => i.Name == type.Namespace); if (searchableNamesapce == null) { searchableNamesapce = new NamespaceInfo(type.Namespace); result.Namespaces.Add(searchableNamesapce); } searchableNamesapce.Classes.Add(new ClassInfo(type)); } return(result); }
public void AddNamespace(NamespaceInfo namespaceInfo) { Namespaces.Add(namespaceInfo); }