/// <summary> /// Get the implementation for the given Enum /// </summary> /// <param name="eEnum"></param> /// <returns></returns> public new INotification Get(NotificationTypeEnum eEnum) { INotification value; if (!AllImplementations.TryGetValue(eEnum, out value)) { throw new InvalidEnumArgumentException(); } if (!value.IsAvailable()) { throw new InvalidEnumArgumentException(@"Can't be selected"); } return(value); }
protected override IReadOnlyDictionary <NotificationTypeEnum, INotification> DataSource() { return(AllImplementations.Where(pair => pair.Value.IsAvailable()).ToDictionary(pair => pair.Key, pair => pair.Value)); }