Code/Expressions/IExpression.cs
using System.Collections.Generic;
namespace Expressive.Expressions
{
/// <summary>
/// Interface definition for an expression that can be evaluated.
/// </summary>
/// <remarks>
/// These are exposed as parameters inside a function.
/// </remarks>
public interface IExpression
{
/// <summary>
/// Forces this <see cref="IExpression"/> to be evaluated.
/// </summary>
/// <param name="variables">The list of variables for use in evaluating.</param>
/// <returns>The result of the <see cref="IExpression"/>.</returns>
object Evaluate(IDictionary<string, object> variables);
}
}