Esempio n. 1
0
        /// <summary>
        /// Switch on the given enum
        /// </summary>
        /// <param name="enum"></param>
        /// <param name="hotkey"></param>
        /// <param name="window"></param>
        /// <param name="process"></param>
        /// <param name="steam"></param>
        /// <param name="startup"></param>
        /// <param name="uwpApp"></param>
        /// <exception cref="ArgumentOutOfRangeException"></exception>
        public static void Switch(this TriggerFactory.Enum @enum, Action hotkey, Action window, Action process, Action steam, Action startup, Action uwpApp)
        {
            switch (@enum)
            {
            case TriggerFactory.Enum.HotKey:
                hotkey();
                break;

            case TriggerFactory.Enum.Window:
                window();
                break;

            case TriggerFactory.Enum.Process:
                process();
                break;

            case TriggerFactory.Enum.Steam:
                steam();
                break;

            case TriggerFactory.Enum.Startup:
                startup();
                break;

            case TriggerFactory.Enum.UwpApp:
                uwpApp();
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(@enum), @enum, null);
            }
        }
Esempio n. 2
0
 /// <summary>
 /// Match on the enum
 /// </summary>
 /// <param name="enum"></param>
 /// <param name="hotkey"></param>
 /// <param name="window"></param>
 /// <param name="process"></param>
 /// <param name="steam"></param>
 /// <param name="startup"></param>
 /// <typeparam name="T"></typeparam>
 /// <returns></returns>
 public static T Match <T>(this TriggerFactory.Enum @enum, Func <T> hotkey, Func <T> window, Func <T> process, Func <T> steam, Func <T> startup)
 {
     return(@enum switch
     {
         TriggerFactory.Enum.HotKey => hotkey(),
         TriggerFactory.Enum.Window => window(),
         TriggerFactory.Enum.Process => process(),
         TriggerFactory.Enum.Steam => steam(),
         TriggerFactory.Enum.Startup => startup(),
         _ => throw new ArgumentOutOfRangeException(nameof(@enum), @enum, null)
     });
 /// <summary>
 /// Switch on the given enum
 /// </summary>
 /// <exception cref="ArgumentOutOfRangeException"></exception>
 public static void Switch(this TriggerFactory.Enum @enum, Action hotkey, Action window, Action process, Action steam, Action startup, Action uwpApp, Action trayMenu)
 {
     Match(@enum, () => hotkey, () => window, () => process, () => steam, () => startup, () => uwpApp, () => trayMenu)();
 }
Esempio n. 4
0
 public Trigger(TriggerFactory.Enum type)
 {
     Type = type;
 }