Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Returns

A FunctionValue that contains the resulting value of the function.

 

 

Example
Code Block
csharp
csharp
titleC#
        public FunctionValue Calculate(IList<FunctionValue> args, Cell currentCell)
        {
            StringBuilder result = new StringBuilder("");
            foreach (FunctionValue arg in args)
            {
                result.Append(',');
                switch (arg.Type)
                {
                    case FunctionValueType.BOOLEAN:
                        result.Append((bool)arg.Value ? "True" : "False");
                        break;
                    case FunctionValueType.STRING:
                        result.Append(arg.Value);
                        break;
                    case FunctionValueType.NUMBER:
                        result.Append(((double)arg.Value).ToString("0.#####"));
                        break;
                    case FunctionValueType.NULL:
                        result.Append(' ');
                        break;
                    case FunctionValueType.RANGE:
                        result.Append(arg.Value.ToString());
                        break;
                }
            }
            return new FunctionValue(result.ToString());
        }
Code Block
vb.net
vb.net
titlevb.net
    Public Function Calculate(args As IList(Of FunctionValue), currentCell As Cell) As FunctionValue
        Dim result As New StringBuilder("")
         
        For Each arg As FunctionValue In args
            result.Append(",")
 
            Select Case arg.Type
                Case FunctionValueType.[BOOLEAN]
                    result.Append(If(CBool(arg.Value), "True", "False"))
                    Exit Select
                Case FunctionValueType.[STRING]
                    result.Append(arg.Value)
                    Exit Select
                Case FunctionValueType.NUMBER
                    result.Append(CDbl(arg.Value).ToString("0.#####"))
                    Exit Select
                Case FunctionValueType.NULL
                    result.Append(" ")
                    Exit Select
                Case FunctionValueType.RANGE
                    result.Append(arg.Value.ToString())
                    Exit Select
            End Select
        Next
        Return New FunctionValue(result.ToString())
    End Function