diff options
Diffstat (limited to 'src/main.lib/Services/ArgumentsParser.cs')
-rw-r--r-- | src/main.lib/Services/ArgumentsParser.cs | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/main.lib/Services/ArgumentsParser.cs b/src/main.lib/Services/ArgumentsParser.cs index 20529f0..8f63a08 100644 --- a/src/main.lib/Services/ArgumentsParser.cs +++ b/src/main.lib/Services/ArgumentsParser.cs @@ -11,7 +11,7 @@ namespace PKISharp.WACS.Configuration private readonly string[] _args; private readonly IEnumerable<IArgumentsProvider> _providers; - public T GetArguments<T>() where T : class, new() + public T? GetArguments<T>() where T : class, new() { foreach (var provider in _providers) { @@ -52,14 +52,18 @@ namespace PKISharp.WACS.Configuration return false; } var mainProvider = _providers.OfType<IArgumentsProvider<MainArguments>>().First(); - if (mainProvider.Validate(_log, main, main)) + if (mainProvider.Validate(main, main)) { // Validate the others var others = _providers.Except(new[] { mainProvider }); foreach (var other in others) { var opt = other.GetResult(_args); - if (!other.Validate(_log, opt, main)) + if (opt == null) + { + return false; + } + if (!other.Validate(opt, main)) { return false; } |