/// <summary> /// Calls AddValidArgument for every ConsoleAction that has a /// CommandLineSwitch defined /// </summary> /// <param name="type"></param> public static void AddSwitches(Type type) { MethodInfo[] methods = type.GetMethods(); foreach (MethodInfo method in methods) { ConsoleActionAttribute action = null; if (method.HasCustomAttributeOfType <ConsoleActionAttribute>(out action)) { if (!string.IsNullOrEmpty(action.CommandLineSwitch)) { AddValidArgument(action.CommandLineSwitch, true, addAcronym: true, description: action.Information, valueExample: action.ValueExample); } } } }
/// <summary> /// Determines if any command line switches were provided as arguments /// </summary> /// <param name="type"></param> /// <returns></returns> public static bool ReceivedSwitchArguments(Type type) { MethodInfo[] methods = type.GetMethods(); bool receivedSwitches = false; foreach (MethodInfo method in methods) { ConsoleActionAttribute action = null; if (method.HasCustomAttributeOfType <ConsoleActionAttribute>(out action)) { if (!string.IsNullOrEmpty(action.CommandLineSwitch) && !receivedSwitches) { receivedSwitches = Arguments.Contains(action.CommandLineSwitch); } } if (receivedSwitches) { break; } } return(receivedSwitches); }