protected IDictionary <TransitionEventPhase, string> GetClassNames(TransitionEvent @event) { bool hasPrefix = !string.IsNullOrWhiteSpace(EventClass); string baseClass = null, activeClass = null, doneClass = null; if (hasPrefix) { baseClass = $"{EventClass}-{@event}"; activeClass = $"{baseClass}-Active"; doneClass = $"{baseClass}-Done"; } else { if (Enum.TryParse($"{@event}", out TransitionEventClass baseEvent)) { baseClass = EventClasses.ContainsKey(baseEvent) ? EventClasses[baseEvent] : null; } if (Enum.TryParse($"{@event}{TransitionEventPhase.Active}", out TransitionEventClass activeEvent)) { activeClass = EventClasses.ContainsKey(activeEvent) ? EventClasses[activeEvent] : null; } if (Enum.TryParse($"{@event}{TransitionEventPhase.Done}", out TransitionEventClass doneEvent)) { doneClass = EventClasses.ContainsKey(doneEvent) ? EventClasses[doneEvent] : null; } } var classes = new Dictionary <TransitionEventPhase, string> { { TransitionEventPhase.Base, baseClass }, { TransitionEventPhase.Active, activeClass }, { TransitionEventPhase.Done, doneClass } }; return(classes); }