/// <summary> /// Creates a new object that is a copy of the current instance. /// </summary> /// <returns> /// A new object that is a copy of this instance. /// </returns> public object Clone() { ActionArgument actionArg = new ActionArgument(); actionArg.name = name; actionArg.value = value; actionArg.expression = expression; return actionArg; }
/// <summary> /// Resolves the action argument. /// </summary> /// <param name="actionArg">The action arg.</param> /// <returns></returns> private object ResolveActionArgument(ActionArgument actionArg) { object value = actionArg.Value; if (value == null || value is string) { string expression = value as string; if (expression == null) expression = actionArg.Expression; value = evaluator.Evaluate(expression, this); } return value; }