protected static void OptionalProcessName(LoadParamsContext context, int index, out string processName, bool singleCharNamesOnly = true) { processName = null; if (context.TokenCount <= index) return; if (string.IsNullOrWhiteSpace(context[index])) context.ReportError("Process name cannot be empty."); else if (singleCharNamesOnly && new StringInfo(context[index]).LengthInTextElements > 1) context.ReportError("Process name can be at most 1 character."); else processName = context[index]; }
protected static void RequiredCount(LoadParamsContext context, int index, out int count) { if (context.TokenCount <= index) count = 1; // Default value if not provided instead of error. else if (!int.TryParse(context[index], NumberStyles.None, CultureInfo.InvariantCulture, out count)) context.ReportError("Failed to parse count as an integer value."); else if (count < 1) context.ReportError("Count cannot be less than 1."); }
protected static void OptionalResourceName(LoadParamsContext context, int index, out string resourceName) { resourceName = null; if (context.TokenCount <= index) return; if (string.IsNullOrWhiteSpace(context[index])) context.ReportError("Resource name cannot be empty."); else resourceName = context[index]; }
protected static void RequiredResourceName(LoadParamsContext context, int index, out string resourceName) { resourceName = null; if (context.TokenCount <= index) context.ReportError("No argument provided for resource name."); else if (string.IsNullOrWhiteSpace(context[index])) context.ReportError("Resource name cannot be empty."); else resourceName = context[index]; }
protected static void RequiredPriority(LoadParamsContext context, int index, out int priority) { priority = 0; if (context.TokenCount <= index) context.ReportError("No argument provided for priority."); else if (!int.TryParse(context[index], NumberStyles.None, CultureInfo.InvariantCulture, out priority)) context.ReportError("Failed to parse priority as an integer value."); else if (priority != 1 && priority != 2) context.ReportError("Invalid priority, must be 1 or 2."); }