protected override void SetupParser(IParserSetup <Person> parser) { parser .Setup("name", (p, v) => p.Name = v.AsString()) .Setup("age", (p, v) => p.Age = v.AsInt(13)) .Setup("hobbies", (p, v) => p.Hobbies.AddRange(v.AsArray <string>())); }
public EngineBuilder(IHandlerSetup handlers = null, IOutputSetup output = null, IEnvironmentSetup environments = null, IParserSetup parsers = null, EngineEventCatalog events = null, EngineSettings settings = null) { _handlers = handlers ?? new HandlerSetup(); _eventCatalog = events ?? new EngineEventCatalog(); _output = output ?? new OutputSetup(); _environments = environments ?? new EnvironmentSetup(); _parsers = parsers ?? new ParserSetup(); _settings = settings ?? new EngineSettings(); }
protected abstract void SetupParser(IParserSetup <T> parser);
/// <summary> /// Use a class Windows-CMD syntax for arguments /// </summary> /// <param name="setup"></param> /// <returns></returns> public static IParserSetup UseWindowsCmdArgumentParser(this IParserSetup setup) { Assert.ArgumentNotNull(setup, nameof(setup)); return(setup.UseArgumentParser(WindowsCmdArgumentGrammar.GetParser())); }
/// <summary> /// Use a Windows PowerShell syntax for arguments /// </summary> /// <param name="setup"></param> /// <returns></returns> public static IParserSetup UsePowershellStyleArgumentParser(this IParserSetup setup) { Assert.ArgumentNotNull(setup, nameof(setup)); return(setup.UseArgumentParser(PowershellStyleArgumentGrammar.GetParser())); }
/// <summary> /// Use the StoneFruit simplified argument syntax /// </summary> /// <param name="setup"></param> /// <returns></returns> public static IParserSetup UseSimplifiedArgumentParser(this IParserSetup setup) { Assert.ArgumentNotNull(setup, nameof(setup)); return(setup.UseArgumentParser(SimplifiedArgumentGrammar.GetParser())); }