From 1edea6bf44fa693e299781dd7a59550e450b1114 Mon Sep 17 00:00:00 2001 From: glax Date: Sat, 1 Jun 2024 23:40:48 +0200 Subject: [PATCH] Add Override on Method Fetch for string[] args --- GlaxArguments/ArgumentFetcher.cs | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/GlaxArguments/ArgumentFetcher.cs b/GlaxArguments/ArgumentFetcher.cs index 6436eff..dae9181 100644 --- a/GlaxArguments/ArgumentFetcher.cs +++ b/GlaxArguments/ArgumentFetcher.cs @@ -15,13 +15,12 @@ public class ArgumentFetcher ValidArguments = temp.Concat(new[] { HelpArg }).ToArray(); } - public Dictionary Fetch(string argumentString) + public Dictionary Fetch(string[] args) { Dictionary ret = new(); - string[] parts = argumentString.Split(' '); - for (int i = 0; i < parts.Length; i++) + for (int i = 0; i < args.Length; i++) { - string flag = parts[i]; + string flag = args[i]; if(flag.Length < 1) continue; if (!(flag.StartsWith('-') && flag.Length == 2 || flag.StartsWith("--"))) @@ -37,13 +36,13 @@ public class ArgumentFetcher } int lastParameterIndex = i + argument.ParameterCount; - if(lastParameterIndex >= parts.Length) + if(lastParameterIndex >= args.Length) throw new ArgumentException($"Not enough Parameters provided for flag {flag}. (Expected {argument.ParameterCount})"); List parameters = new(); for (; i < lastParameterIndex; i++) { - string param = parts[i + 1]; + string param = args[i + 1]; if(param.StartsWith('-')) throw new ArgumentException($"Not enough Parameters provided for flag {flag}. (Expected {argument.ParameterCount})"); if(param.StartsWith('"') && param.EndsWith('"')) @@ -55,4 +54,9 @@ public class ArgumentFetcher } return ret; } + + public Dictionary Fetch(string argumentString) + { + return Fetch(argumentString.Split(' ')); + } } \ No newline at end of file