public static IDependency GetDependency(XPathNavigator dependencyNav) { IDependency dependency = null; string dependencyType = Util.ReadAttribute(dependencyNav, "type"); switch (dependencyType.ToLowerInvariant()) { case "coreversion": dependency = new CoreVersionDependency(); break; case "package": dependency = new PackageDependency(); break; case "permission": dependency = new PermissionsDependency(); break; case "type": dependency = new TypeDependency(); break; default: ListController listController = new ListController(); ListEntryInfo entry = listController.GetListEntryInfo("Dependency", dependencyType); if (entry != null && !string.IsNullOrEmpty(entry.Text)) { dependency = (DependencyBase)Reflection.CreateObject(entry.Text, "Dependency_" + entry.Value); } break; } if (dependency == null) { dependency = new InvalidDependency(Util.INSTALL_Dependencies); } dependency.ReadManifest(dependencyNav); return dependency; }
public static IDependency GetDependency(XPathNavigator dependencyNav) { IDependency dependency = null; string dependencyType = Util.ReadAttribute(dependencyNav, "type"); switch (dependencyType.ToLowerInvariant()) { case "coreversion": dependency = new CoreVersionDependency(); break; case "package": dependency = new PackageDependency(); break; case "permission": dependency = new PermissionsDependency(); break; case "type": dependency = new TypeDependency(); break; default: ListController listController = new ListController(); ListEntryInfo entry = listController.GetListEntryInfo("Dependency", dependencyType); if (entry != null && !string.IsNullOrEmpty(entry.Text)) { dependency = (DependencyBase)Reflection.CreateObject(entry.Text, "Dependency_" + entry.Value); } break; } if (dependency == null) { dependency = new InvalidDependency(Util.INSTALL_Dependencies); } dependency.ReadManifest(dependencyNav); return(dependency); }