public static void AddExtension(IProjectIconExtensionFeature feature) { bool isExist = extensions.Any(ext => feature.GetType() == ext.GetType()); if (isExist) { return; } extensions.Add(feature); extensions = extensions.OrderBy(ext => ext.GetPriority()).ToList(); UpdateWorkingExtensions(); }
public static void RemoveExtension(IProjectIconExtensionFeature feature) { for (int i = 0; i < extensions.Count; ++i) { bool isSameType = extensions[i].GetType() == feature.GetType(); if (!isSameType) { continue; } extensions.RemoveAt(i); break; } UpdateWorkingExtensions(); }