public virtual bool consume(VirtualArray<string> vArgs, ParsedArgs pArgs) { if (!isConsumeable(vArgs)) { return false; } pArgs.add(name, getValue(vArgs)); if (argCountIsRemainderOfArgs) { vArgs.moveStart(vArgs.endIndexExclusive); } else { vArgs.moveStartBy(argCount + 1); } return true; }
public virtual void parseFinish(ParsedArgs pArgs) { if (instanceCount < 1 && required) { errorMessages.Add(string.Format("The '{0}' argument is required.")); return; } if (instanceCount == 0 && (defaultValue != null || useDefaultIfNull)) { pArgs.add(name, defaultValue); } }