public IEnumerable <AddonHolder> GetFilteredAddons(RegisterItemUsage usage) { foreach (var item in GetAllAddons()) { if (item.AllowUsage(usage)) { yield return(item); } } }
public bool AllowUsage(RegisterItemUsage usage) { switch (usage) { case RegisterItemUsage.CreateTemplate: return(SupportsCreateTemplate); case RegisterItemUsage.Deserialize: return(SupportsDeserialize); case RegisterItemUsage.DirectUse: return(SupportsDirectUse); } return(false); }