/// <summary> /// Create a simple statement line, with a future to generate the actual line. /// </summary> /// <param name="futureLine"></param> /// <param name="addSemicolon"></param> public StatementSimpleStatement(Func<string> futureLine, bool addSemicolon = true, string[] dependentVars = null, string[] resultVars = null) { futureLine .ThrowIfNull(() => new ArgumentException("StatemeintSimpleStatment should not be called with a null input line")); AddSemicolon = addSemicolon; _statementGenerator = new EvalStringOnce(() => CleanLine(futureLine(), AddSemicolon)); NeverLift = false; DependentVariables = dependentVars == null ? new string[0] : dependentVars; ResultVariables = resultVars == null ? new string[0] : resultVars; }
/// <summary> /// Create a simple statement line, with a future to generate the actual line. /// </summary> /// <param name="futureLine"></param> /// <param name="addSemicolon"></param> public StatementSimpleStatement(Func <string> futureLine, bool addSemicolon = true, string[] dependentVars = null, string[] resultVars = null) { futureLine .ThrowIfNull(() => new ArgumentException("StatemeintSimpleStatment should not be called with a null input line")); AddSemicolon = addSemicolon; _statementGenerator = new EvalStringOnce(() => CleanLine(futureLine(), AddSemicolon)); NeverLift = false; DependentVariables = dependentVars == null ? new string[0] : dependentVars; ResultVariables = resultVars == null ? new string[0] : resultVars; }
/// <summary> /// Create a simple statement line with a given string. /// </summary> /// <param name="line"></param> /// <param name="addSemicolon"></param> public StatementSimpleStatement(string line, bool addSemicolon = true, string[] dependentVars = null, string[] resultVars = null) { if (line == null) throw new ArgumentNullException("line can't be null!"); AddSemicolon = addSemicolon; _statementGenerator = new EvalStringOnce(() => CleanLine(line, AddSemicolon)); NeverLift = false; DependentVariables = dependentVars == null ? new string[0] : dependentVars; ResultVariables = resultVars == null ? new string[0] : resultVars; }
/// <summary> /// Create a simple statement line with a given string. /// </summary> /// <param name="line"></param> /// <param name="addSemicolon"></param> public StatementSimpleStatement(string line, bool addSemicolon = true, string[] dependentVars = null, string[] resultVars = null) { if (line == null) { throw new ArgumentNullException("line can't be null!"); } AddSemicolon = addSemicolon; _statementGenerator = new EvalStringOnce(() => CleanLine(line, AddSemicolon)); NeverLift = false; DependentVariables = dependentVars == null ? new string[0] : dependentVars; ResultVariables = resultVars == null ? new string[0] : resultVars; }