The IFunction interface is used to implement custom Excel functions in .NET to be passed in to ExcelWriter Application; see Workbook.RegisterCustomFunction for more details.

public interface IFunction
{
    FunctionValue Calculate(IList<FunctionValue> args, Cell currentCell);
}
Public Interface IFunction
    Function Calculate(args As IList(Of FunctionValue), currentCell As Cell) As FunctionValue
End Interface
class Concat : IFunction
{
    public FunctionValue CustomFunction(IList<FunctionValue> args, Cell currentCell)
    {
        StringBuilder result = new StringBuilder("");


        foreach (FunctionValue arg in args)
            if (arg.Type != FunctionValueType.RANGE)
                result.Append(arg);


        return new FunctionValue(result.ToString());
    }
}
Class Concat
	Implements IFunction
	Public Function CustomFunction(args As IList(Of FunctionValue), currentCell As Cell) As FunctionValue
		Dim result As New StringBuilder("")
		For Each arg As FunctionValue In args
			If arg.Type <> FunctionValueType.RANGE Then
				result.Append(arg)
			End If
		Next
		Return New FunctionValue(result.ToString())
	End Function
End Class

Name

Description

CustomFunction(IList<FunctionValue>,Cell)