Click or drag to resize
IVariableContainer Interface
An interface to a variable container. Defines mechanism to manipulate and register types and variables in evaluation context.

Namespace: FlexRule
Assembly: FlexRule.Core.Library (in FlexRule.Core.Library.dll) Version: 0.0.0.0 (0.0.0.0)
Syntax
C#
public interface IVariableContainer

The IVariableContainer type exposes the following members.

Properties
  NameDescription
Public propertyCount
total numbers of the registered variables
Public propertyFallbackValueReader
Fallback reader strategy
Public propertyItem
Returns the value of a variable
Public propertyName
Name of the container. $ for root container.
Public propertyNestedContainers
All child containers
Public propertyParentType
Parent type for all the defined variables
Top
Methods
  NameDescription
Public methodExists
Check if a variable exists, uses fallback container if it is set
Public methodGetVariableList
Lists the registered variables
Public methodGetVariableType
Returns type of a variable
Public methodGetVariableValue
Returns value of a variable
Public methodIsRegistered
Check if a variable is registered on the container
Public methodRegisterVariable
Registers a variable with its value
Public methodRemove
Remove a variable by its name
Public methodRemoveAll
Removes all the registered variables
Public methodSetVariableValue(String, Object)
Sets variable value
Public methodSetVariableValue(String, String, Object)
Sets variable value
Top
Events
  NameDescription
Public eventValueChanged
If value of a variable changes this will be raised
Top
Extension Methods
  NameDescription
Public Extension MethodCompute
Evaluates expression on the provided container
(Defined by VariableContainerExtensions.)
Public Extension MethodGetExecutionContextInfo (Defined by VariableContainerExtensions.)
Public Extension MethodGetNewVariableContainer (Defined by VariableContainerExtensions.)
Public Extension MethodGetTypes
Gets all registered type that are extensions from container
(Defined by VariableContainerExtensions.)
Public Extension MethodRegister
Registers Types and Parameters of the signature
(Defined by VariableContainerExtensions.)
Public Extension MethodRegisterFormula(IActiveElementExecutor, IExecutionPlan)Overloaded. (Defined by VariableContainerExtensions.)
Public Extension MethodRegisterFormula(String, FormulaType, ISourceInfo)Overloaded.
A formula is an expression that is calculated on-the-fly and its expression tree is not parse until evaluation is required.
(Defined by VariableContainerExtensions.)
Public Extension MethodRegisterFunction(Object)Overloaded.
Registers all the methods on the type that are marked by FunctionAttribute
(Defined by VariableContainerExtensions.)
Public Extension MethodRegisterFunction(String, Delegate)Overloaded.
Registers all the methods on the type that are marked by FunctionAttribute
(Defined by VariableContainerExtensions.)
Public Extension MethodRegisterFunction(String, MethodInfo, Object)Overloaded.
Registers a function in for expression evaluation, if the function exists already, will be overwritten.
(Defined by VariableContainerExtensions.)
Public Extension MethodRegisterFunction(String, IExecutableModel, String)Overloaded.
Registers a logic as a function
(Defined by VariableContainerExtensions.)
Public Extension MethodRegisterFunction(String, String, Type, Object)Overloaded.
Registers a function for expression evaluation
(Defined by VariableContainerExtensions.)
Public Extension MethodRegisterNestedContext (Defined by FormulaNestedContextExtensions.)
Public Extension MethodRegisterType(Type, String)Overloaded.
Registers a type with its name so static methods can be accessed via type name
Remarks
This registration does not register the type with their TypeId. If that's required, you need to register typeId manually on the execution context.
(Defined by VariableContainerExtensions.)
Public Extension MethodRegisterType(ISignatureTypeInfo, ITypeIdentifierRegistry, IEnumerableString)Overloaded.
Registers a type into the provided container
(Defined by VariableContainerExtensions.)
Public Extension MethodRegisterType(IEnumerableISignatureTypeInfo, ITypeIdentifierRegistry, IEnumerableString)Overloaded.
Registers multiple types into the provided container
(Defined by VariableContainerExtensions.)
Public Extension MethodRegisterVariable(ISignatureVariableInfo, IEnumerableString)Overloaded.
Registers variable in to the provided container
(Defined by VariableContainerExtensions.)
Public Extension MethodRegisterVariable(IEnumerableISignatureVariableInfo, IEnumerableString)Overloaded.
Registers multiple variables in the provided container
(Defined by VariableContainerExtensions.)
Public Extension MethodToDictionary
Returns the current values in the container
(Defined by VariableContainerExtensions.)
Top
See Also