Show / Hide Table of Contents

Class NotifyExpression<T>

The common base class for incremental expressions

Inheritance
object
Expression
NotifyExpressionBase
NotifyExpression<T>
Implements
INotifyExpression<T>
INotifyValue<T>
INotifyExpression
INotifiable
IDisposable
IValueChangedNotificationResult<T>
IValueChangedNotificationResult
INotificationResult
ISuccessorList
Inherited Members
Expression.Accept(ExpressionVisitor)
Expression.Add(Expression, Expression)
Expression.Add(Expression, Expression, MethodInfo)
Expression.AddAssign(Expression, Expression)
Expression.AddAssign(Expression, Expression, MethodInfo)
Expression.AddAssign(Expression, Expression, MethodInfo, LambdaExpression)
Expression.AddAssignChecked(Expression, Expression)
Expression.AddAssignChecked(Expression, Expression, MethodInfo)
Expression.AddAssignChecked(Expression, Expression, MethodInfo, LambdaExpression)
Expression.AddChecked(Expression, Expression)
Expression.AddChecked(Expression, Expression, MethodInfo)
Expression.And(Expression, Expression)
Expression.And(Expression, Expression, MethodInfo)
Expression.AndAlso(Expression, Expression)
Expression.AndAlso(Expression, Expression, MethodInfo)
Expression.AndAssign(Expression, Expression)
Expression.AndAssign(Expression, Expression, MethodInfo)
Expression.AndAssign(Expression, Expression, MethodInfo, LambdaExpression)
Expression.ArrayAccess(Expression, IEnumerable<Expression>)
Expression.ArrayAccess(Expression, params Expression[])
Expression.ArrayIndex(Expression, IEnumerable<Expression>)
Expression.ArrayIndex(Expression, Expression)
Expression.ArrayIndex(Expression, params Expression[])
Expression.ArrayLength(Expression)
Expression.Assign(Expression, Expression)
Expression.Bind(MemberInfo, Expression)
Expression.Bind(MethodInfo, Expression)
Expression.Block(IEnumerable<Expression>)
Expression.Block(IEnumerable<ParameterExpression>, IEnumerable<Expression>)
Expression.Block(IEnumerable<ParameterExpression>, params Expression[])
Expression.Block(Expression, Expression)
Expression.Block(Expression, Expression, Expression)
Expression.Block(Expression, Expression, Expression, Expression)
Expression.Block(Expression, Expression, Expression, Expression, Expression)
Expression.Block(params Expression[])
Expression.Block(Type, IEnumerable<Expression>)
Expression.Block(Type, IEnumerable<ParameterExpression>, IEnumerable<Expression>)
Expression.Block(Type, IEnumerable<ParameterExpression>, params Expression[])
Expression.Block(Type, params Expression[])
Expression.Break(LabelTarget)
Expression.Break(LabelTarget, Expression)
Expression.Break(LabelTarget, Expression, Type)
Expression.Break(LabelTarget, Type)
Expression.Call(Expression, MethodInfo)
Expression.Call(Expression, MethodInfo, IEnumerable<Expression>)
Expression.Call(Expression, MethodInfo, Expression, Expression)
Expression.Call(Expression, MethodInfo, Expression, Expression, Expression)
Expression.Call(Expression, MethodInfo, params Expression[])
Expression.Call(Expression, string, Type[], params Expression[])
Expression.Call(MethodInfo, IEnumerable<Expression>)
Expression.Call(MethodInfo, Expression)
Expression.Call(MethodInfo, Expression, Expression)
Expression.Call(MethodInfo, Expression, Expression, Expression)
Expression.Call(MethodInfo, Expression, Expression, Expression, Expression)
Expression.Call(MethodInfo, Expression, Expression, Expression, Expression, Expression)
Expression.Call(MethodInfo, params Expression[])
Expression.Call(Type, string, Type[], params Expression[])
Expression.Catch(ParameterExpression, Expression)
Expression.Catch(ParameterExpression, Expression, Expression)
Expression.Catch(Type, Expression)
Expression.Catch(Type, Expression, Expression)
Expression.ClearDebugInfo(SymbolDocumentInfo)
Expression.Coalesce(Expression, Expression)
Expression.Coalesce(Expression, Expression, LambdaExpression)
Expression.Condition(Expression, Expression, Expression)
Expression.Condition(Expression, Expression, Expression, Type)
Expression.Constant(object)
Expression.Constant(object, Type)
Expression.Continue(LabelTarget)
Expression.Continue(LabelTarget, Type)
Expression.Convert(Expression, Type)
Expression.Convert(Expression, Type, MethodInfo)
Expression.ConvertChecked(Expression, Type)
Expression.ConvertChecked(Expression, Type, MethodInfo)
Expression.DebugInfo(SymbolDocumentInfo, int, int, int, int)
Expression.Decrement(Expression)
Expression.Decrement(Expression, MethodInfo)
Expression.Default(Type)
Expression.Divide(Expression, Expression)
Expression.Divide(Expression, Expression, MethodInfo)
Expression.DivideAssign(Expression, Expression)
Expression.DivideAssign(Expression, Expression, MethodInfo)
Expression.DivideAssign(Expression, Expression, MethodInfo, LambdaExpression)
Expression.Dynamic(CallSiteBinder, Type, IEnumerable<Expression>)
Expression.Dynamic(CallSiteBinder, Type, Expression)
Expression.Dynamic(CallSiteBinder, Type, Expression, Expression)
Expression.Dynamic(CallSiteBinder, Type, Expression, Expression, Expression)
Expression.Dynamic(CallSiteBinder, Type, Expression, Expression, Expression, Expression)
Expression.Dynamic(CallSiteBinder, Type, params Expression[])
Expression.ElementInit(MethodInfo, IEnumerable<Expression>)
Expression.ElementInit(MethodInfo, params Expression[])
Expression.Empty()
Expression.Equal(Expression, Expression)
Expression.Equal(Expression, Expression, bool, MethodInfo)
Expression.ExclusiveOr(Expression, Expression)
Expression.ExclusiveOr(Expression, Expression, MethodInfo)
Expression.ExclusiveOrAssign(Expression, Expression)
Expression.ExclusiveOrAssign(Expression, Expression, MethodInfo)
Expression.ExclusiveOrAssign(Expression, Expression, MethodInfo, LambdaExpression)
Expression.Field(Expression, FieldInfo)
Expression.Field(Expression, string)
Expression.Field(Expression, Type, string)
Expression.GetActionType(params Type[])
Expression.GetDelegateType(params Type[])
Expression.GetFuncType(params Type[])
Expression.Goto(LabelTarget)
Expression.Goto(LabelTarget, Expression)
Expression.Goto(LabelTarget, Expression, Type)
Expression.Goto(LabelTarget, Type)
Expression.GreaterThan(Expression, Expression)
Expression.GreaterThan(Expression, Expression, bool, MethodInfo)
Expression.GreaterThanOrEqual(Expression, Expression)
Expression.GreaterThanOrEqual(Expression, Expression, bool, MethodInfo)
Expression.IfThen(Expression, Expression)
Expression.IfThenElse(Expression, Expression, Expression)
Expression.Increment(Expression)
Expression.Increment(Expression, MethodInfo)
Expression.Invoke(Expression, IEnumerable<Expression>)
Expression.Invoke(Expression, params Expression[])
Expression.IsFalse(Expression)
Expression.IsFalse(Expression, MethodInfo)
Expression.IsTrue(Expression)
Expression.IsTrue(Expression, MethodInfo)
Expression.Label()
Expression.Label(LabelTarget)
Expression.Label(LabelTarget, Expression)
Expression.Label(string)
Expression.Label(Type)
Expression.Label(Type, string)
Expression.Lambda(Expression, bool, IEnumerable<ParameterExpression>)
Expression.Lambda(Expression, bool, params ParameterExpression[])
Expression.Lambda(Expression, IEnumerable<ParameterExpression>)
Expression.Lambda(Expression, params ParameterExpression[])
Expression.Lambda(Expression, string, bool, IEnumerable<ParameterExpression>)
Expression.Lambda(Expression, string, IEnumerable<ParameterExpression>)
Expression.Lambda(Type, Expression, bool, IEnumerable<ParameterExpression>)
Expression.Lambda(Type, Expression, bool, params ParameterExpression[])
Expression.Lambda(Type, Expression, IEnumerable<ParameterExpression>)
Expression.Lambda(Type, Expression, params ParameterExpression[])
Expression.Lambda(Type, Expression, string, bool, IEnumerable<ParameterExpression>)
Expression.Lambda(Type, Expression, string, IEnumerable<ParameterExpression>)
Expression.Lambda<TDelegate>(Expression, bool, IEnumerable<ParameterExpression>)
Expression.Lambda<TDelegate>(Expression, bool, params ParameterExpression[])
Expression.Lambda<TDelegate>(Expression, IEnumerable<ParameterExpression>)
Expression.Lambda<TDelegate>(Expression, params ParameterExpression[])
Expression.Lambda<TDelegate>(Expression, string, bool, IEnumerable<ParameterExpression>)
Expression.Lambda<TDelegate>(Expression, string, IEnumerable<ParameterExpression>)
Expression.LeftShift(Expression, Expression)
Expression.LeftShift(Expression, Expression, MethodInfo)
Expression.LeftShiftAssign(Expression, Expression)
Expression.LeftShiftAssign(Expression, Expression, MethodInfo)
Expression.LeftShiftAssign(Expression, Expression, MethodInfo, LambdaExpression)
Expression.LessThan(Expression, Expression)
Expression.LessThan(Expression, Expression, bool, MethodInfo)
Expression.LessThanOrEqual(Expression, Expression)
Expression.LessThanOrEqual(Expression, Expression, bool, MethodInfo)
Expression.ListBind(MemberInfo, IEnumerable<ElementInit>)
Expression.ListBind(MemberInfo, params ElementInit[])
Expression.ListBind(MethodInfo, IEnumerable<ElementInit>)
Expression.ListBind(MethodInfo, params ElementInit[])
Expression.ListInit(NewExpression, IEnumerable<ElementInit>)
Expression.ListInit(NewExpression, IEnumerable<Expression>)
Expression.ListInit(NewExpression, params ElementInit[])
Expression.ListInit(NewExpression, params Expression[])
Expression.ListInit(NewExpression, MethodInfo, IEnumerable<Expression>)
Expression.ListInit(NewExpression, MethodInfo, params Expression[])
Expression.Loop(Expression)
Expression.Loop(Expression, LabelTarget)
Expression.Loop(Expression, LabelTarget, LabelTarget)
Expression.MakeBinary(ExpressionType, Expression, Expression)
Expression.MakeBinary(ExpressionType, Expression, Expression, bool, MethodInfo)
Expression.MakeBinary(ExpressionType, Expression, Expression, bool, MethodInfo, LambdaExpression)
Expression.MakeCatchBlock(Type, ParameterExpression, Expression, Expression)
Expression.MakeDynamic(Type, CallSiteBinder, IEnumerable<Expression>)
Expression.MakeDynamic(Type, CallSiteBinder, Expression)
Expression.MakeDynamic(Type, CallSiteBinder, Expression, Expression)
Expression.MakeDynamic(Type, CallSiteBinder, Expression, Expression, Expression)
Expression.MakeDynamic(Type, CallSiteBinder, Expression, Expression, Expression, Expression)
Expression.MakeDynamic(Type, CallSiteBinder, params Expression[])
Expression.MakeGoto(GotoExpressionKind, LabelTarget, Expression, Type)
Expression.MakeIndex(Expression, PropertyInfo, IEnumerable<Expression>)
Expression.MakeMemberAccess(Expression, MemberInfo)
Expression.MakeTry(Type, Expression, Expression, Expression, IEnumerable<CatchBlock>)
Expression.MakeUnary(ExpressionType, Expression, Type)
Expression.MakeUnary(ExpressionType, Expression, Type, MethodInfo)
Expression.MemberBind(MemberInfo, IEnumerable<MemberBinding>)
Expression.MemberBind(MemberInfo, params MemberBinding[])
Expression.MemberBind(MethodInfo, IEnumerable<MemberBinding>)
Expression.MemberBind(MethodInfo, params MemberBinding[])
Expression.MemberInit(NewExpression, IEnumerable<MemberBinding>)
Expression.MemberInit(NewExpression, params MemberBinding[])
Expression.Modulo(Expression, Expression)
Expression.Modulo(Expression, Expression, MethodInfo)
Expression.ModuloAssign(Expression, Expression)
Expression.ModuloAssign(Expression, Expression, MethodInfo)
Expression.ModuloAssign(Expression, Expression, MethodInfo, LambdaExpression)
Expression.Multiply(Expression, Expression)
Expression.Multiply(Expression, Expression, MethodInfo)
Expression.MultiplyAssign(Expression, Expression)
Expression.MultiplyAssign(Expression, Expression, MethodInfo)
Expression.MultiplyAssign(Expression, Expression, MethodInfo, LambdaExpression)
Expression.MultiplyAssignChecked(Expression, Expression)
Expression.MultiplyAssignChecked(Expression, Expression, MethodInfo)
Expression.MultiplyAssignChecked(Expression, Expression, MethodInfo, LambdaExpression)
Expression.MultiplyChecked(Expression, Expression)
Expression.MultiplyChecked(Expression, Expression, MethodInfo)
Expression.Negate(Expression)
Expression.Negate(Expression, MethodInfo)
Expression.NegateChecked(Expression)
Expression.NegateChecked(Expression, MethodInfo)
Expression.New(ConstructorInfo)
Expression.New(ConstructorInfo, IEnumerable<Expression>)
Expression.New(ConstructorInfo, IEnumerable<Expression>, IEnumerable<MemberInfo>)
Expression.New(ConstructorInfo, IEnumerable<Expression>, params MemberInfo[])
Expression.New(ConstructorInfo, params Expression[])
Expression.New(Type)
Expression.NewArrayBounds(Type, IEnumerable<Expression>)
Expression.NewArrayBounds(Type, params Expression[])
Expression.NewArrayInit(Type, IEnumerable<Expression>)
Expression.NewArrayInit(Type, params Expression[])
Expression.Not(Expression)
Expression.Not(Expression, MethodInfo)
Expression.NotEqual(Expression, Expression)
Expression.NotEqual(Expression, Expression, bool, MethodInfo)
Expression.OnesComplement(Expression)
Expression.OnesComplement(Expression, MethodInfo)
Expression.Or(Expression, Expression)
Expression.Or(Expression, Expression, MethodInfo)
Expression.OrAssign(Expression, Expression)
Expression.OrAssign(Expression, Expression, MethodInfo)
Expression.OrAssign(Expression, Expression, MethodInfo, LambdaExpression)
Expression.OrElse(Expression, Expression)
Expression.OrElse(Expression, Expression, MethodInfo)
Expression.Parameter(Type)
Expression.Parameter(Type, string)
Expression.PostDecrementAssign(Expression)
Expression.PostDecrementAssign(Expression, MethodInfo)
Expression.PostIncrementAssign(Expression)
Expression.PostIncrementAssign(Expression, MethodInfo)
Expression.Power(Expression, Expression)
Expression.Power(Expression, Expression, MethodInfo)
Expression.PowerAssign(Expression, Expression)
Expression.PowerAssign(Expression, Expression, MethodInfo)
Expression.PowerAssign(Expression, Expression, MethodInfo, LambdaExpression)
Expression.PreDecrementAssign(Expression)
Expression.PreDecrementAssign(Expression, MethodInfo)
Expression.PreIncrementAssign(Expression)
Expression.PreIncrementAssign(Expression, MethodInfo)
Expression.Property(Expression, MethodInfo)
Expression.Property(Expression, PropertyInfo)
Expression.Property(Expression, PropertyInfo, IEnumerable<Expression>)
Expression.Property(Expression, PropertyInfo, params Expression[])
Expression.Property(Expression, string)
Expression.Property(Expression, string, params Expression[])
Expression.Property(Expression, Type, string)
Expression.PropertyOrField(Expression, string)
Expression.Quote(Expression)
Expression.ReduceAndCheck()
Expression.ReduceExtensions()
Expression.ReferenceEqual(Expression, Expression)
Expression.ReferenceNotEqual(Expression, Expression)
Expression.Rethrow()
Expression.Rethrow(Type)
Expression.Return(LabelTarget)
Expression.Return(LabelTarget, Expression)
Expression.Return(LabelTarget, Expression, Type)
Expression.Return(LabelTarget, Type)
Expression.RightShift(Expression, Expression)
Expression.RightShift(Expression, Expression, MethodInfo)
Expression.RightShiftAssign(Expression, Expression)
Expression.RightShiftAssign(Expression, Expression, MethodInfo)
Expression.RightShiftAssign(Expression, Expression, MethodInfo, LambdaExpression)
Expression.RuntimeVariables(IEnumerable<ParameterExpression>)
Expression.RuntimeVariables(params ParameterExpression[])
Expression.Subtract(Expression, Expression)
Expression.Subtract(Expression, Expression, MethodInfo)
Expression.SubtractAssign(Expression, Expression)
Expression.SubtractAssign(Expression, Expression, MethodInfo)
Expression.SubtractAssign(Expression, Expression, MethodInfo, LambdaExpression)
Expression.SubtractAssignChecked(Expression, Expression)
Expression.SubtractAssignChecked(Expression, Expression, MethodInfo)
Expression.SubtractAssignChecked(Expression, Expression, MethodInfo, LambdaExpression)
Expression.SubtractChecked(Expression, Expression)
Expression.SubtractChecked(Expression, Expression, MethodInfo)
Expression.Switch(Expression, Expression, params SwitchCase[])
Expression.Switch(Expression, Expression, MethodInfo, IEnumerable<SwitchCase>)
Expression.Switch(Expression, Expression, MethodInfo, params SwitchCase[])
Expression.Switch(Expression, params SwitchCase[])
Expression.Switch(Type, Expression, Expression, MethodInfo, IEnumerable<SwitchCase>)
Expression.Switch(Type, Expression, Expression, MethodInfo, params SwitchCase[])
Expression.SwitchCase(Expression, IEnumerable<Expression>)
Expression.SwitchCase(Expression, params Expression[])
Expression.SymbolDocument(string)
Expression.SymbolDocument(string, Guid)
Expression.SymbolDocument(string, Guid, Guid)
Expression.SymbolDocument(string, Guid, Guid, Guid)
Expression.Throw(Expression)
Expression.Throw(Expression, Type)
Expression.TryCatch(Expression, params CatchBlock[])
Expression.TryCatchFinally(Expression, Expression, params CatchBlock[])
Expression.TryFault(Expression, Expression)
Expression.TryFinally(Expression, Expression)
Expression.TryGetActionType(Type[], out Type)
Expression.TryGetFuncType(Type[], out Type)
Expression.TypeAs(Expression, Type)
Expression.TypeEqual(Expression, Type)
Expression.TypeIs(Expression, Type)
Expression.UnaryPlus(Expression)
Expression.UnaryPlus(Expression, MethodInfo)
Expression.Unbox(Expression, Type)
Expression.Variable(Type)
Expression.Variable(Type, string)
Expression.VisitChildren(ExpressionVisitor)
Expression.NodeType
object.Equals(object)
object.Equals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
object.ReferenceEquals(object, object)
Namespace: NMF.Expressions
Assembly: NMF.Expressions.dll
Syntax
public abstract class NotifyExpression<T> : NotifyExpressionBase, INotifyExpression<T>, INotifyValue<T>, INotifyExpression, INotifiable, IDisposable, IValueChangedNotificationResult<T>, IValueChangedNotificationResult, INotificationResult, ISuccessorList
Type Parameters
Name Description
T

The element type of the expression

Constructors

| Edit this page View Source

NotifyExpression()

Creates a new instance

Declaration
protected NotifyExpression()
| Edit this page View Source

NotifyExpression(T)

Creates a new incremental expression with the given initial value

Declaration
protected NotifyExpression(T value)
Parameters
Type Name Description
T value

The initial value

Properties

| Edit this page View Source

AllSuccessors

Declaration
public IEnumerable<INotifiable> AllSuccessors { get; }
Property Value
Type Description
IEnumerable<INotifiable>
| Edit this page View Source

CanBeConstant

Returns whether the current expression can be constant

Declaration
public virtual bool CanBeConstant { get; }
Property Value
Type Description
bool
| Edit this page View Source

CanReduce

Determines whether this expression can be reduced

Declaration
public override bool CanReduce { get; }
Property Value
Type Description
bool
Overrides
Expression.CanReduce
| Edit this page View Source

Count

The number of elements

Declaration
public int Count { get; }
Property Value
Type Description
int
| Edit this page View Source

Dependencies

Nodes that notify this node.

Declaration
public abstract IEnumerable<INotifiable> Dependencies { get; }
Property Value
Type Description
IEnumerable<INotifiable>
| Edit this page View Source

ExecutionMetaData

Used by the execution engine during incremental execution.

Declaration
public ExecutionMetaData ExecutionMetaData { get; }
Property Value
Type Description
ExecutionMetaData
| Edit this page View Source

HasSuccessors

True, if there is any successor, otherwise False

Declaration
public bool HasSuccessors { get; }
Property Value
Type Description
bool
| Edit this page View Source

IsAttached

True, if successors are attached, otherwise False

Declaration
public bool IsAttached { get; }
Property Value
Type Description
bool
| Edit this page View Source

IsConstant

Returns whether this expression is a constant value

Declaration
public virtual bool IsConstant { get; }
Property Value
Type Description
bool
| Edit this page View Source

IsParameterFree

Returns whether this expression is parameter free

Declaration
public abstract bool IsParameterFree { get; }
Property Value
Type Description
bool
| Edit this page View Source

Successors

The nodes that will get notified by this node.

Declaration
public ISuccessorList Successors { get; }
Property Value
Type Description
ISuccessorList
| Edit this page View Source

Type

Gets the type of this incremental expression

Declaration
public override sealed Type Type { get; }
Property Value
Type Description
Type
Overrides
Expression.Type
| Edit this page View Source

Value

Gets the current value of this expression

Declaration
public T Value { get; }
Property Value
Type Description
T
| Edit this page View Source

ValueObject

Gets the current value as object

Declaration
public object ValueObject { get; }
Property Value
Type Description
object

Methods

| Edit this page View Source

ApplyParameters(IDictionary<string, object>, IDictionary<INotifiable, INotifiable>)

Applies the given set of parameters to the expression

Declaration
public INotifyExpression<T> ApplyParameters(IDictionary<string, object> parameters, IDictionary<INotifiable, INotifiable> trace)
Parameters
Type Name Description
IDictionary<string, object> parameters

A set of parameter values

IDictionary<INotifiable, INotifiable> trace

A trace to make sure parameters are only applied once for every DDG node

Returns
Type Description
INotifyExpression<T>

A new expression with all parameter placeholders replaced with the parameter values

Remarks

In case that the current expression is parameter free, it simply returns itself

| Edit this page View Source

ApplyParametersCore(IDictionary<string, object>, IDictionary<INotifiable, INotifiable>)

Applies the given set of parameters to the expression

Declaration
protected abstract INotifyExpression<T> ApplyParametersCore(IDictionary<string, object> parameters, IDictionary<INotifiable, INotifiable> trace)
Parameters
Type Name Description
IDictionary<string, object> parameters

A set of parameter values

IDictionary<INotifiable, INotifiable> trace

A trace to make sure parameters are only applied once for every DDG node

Returns
Type Description
INotifyExpression<T>

A new expression with all parameter placeholders replaced with the parameter values

Remarks

In case that the current expression is parameter free, it simply returns itself

| Edit this page View Source

BaseReduce()

Simplifies the current expression

Declaration
protected override sealed Expression BaseReduce()
Returns
Type Description
Expression

A simpler expression representing the same incremental value (e.g. a constant if this expression can be constant), otherwise itself

Overrides
NotifyExpressionBase.BaseReduce()
| Edit this page View Source

Dispose()

Declaration
public void Dispose()
| Edit this page View Source

GetSuccessor(int)

Gets the successor at the given index

Declaration
public INotifiable GetSuccessor(int index)
Parameters
Type Name Description
int index

The index

Returns
Type Description
INotifiable

The DDG node with the given index

| Edit this page View Source

GetValue()

Gets the value of the current incremental expression

Declaration
protected abstract T GetValue()
Returns
Type Description
T

The current value

| Edit this page View Source

Notify(IList<INotificationResult>)

Refreshes the current value

Declaration
public virtual INotificationResult Notify(IList<INotificationResult> sources)
Parameters
Type Name Description
IList<INotificationResult> sources
Returns
Type Description
INotificationResult
| Edit this page View Source

OnAttach()

Occurs when this node gets (re)attached to another node for the first time

Declaration
protected virtual void OnAttach()
| Edit this page View Source

OnDetach()

Occurs when the last successor of this node gets removed

Declaration
protected virtual void OnDetach()
| Edit this page View Source

OnValueChanged(T, T)

Gets called when the value of the current expression changes

Declaration
protected void OnValueChanged(T oldVal, T newVal)
Parameters
Type Name Description
T oldVal

The old value

T newVal

The new value

| Edit this page View Source

Reduce()

Simplifies the current expression

Declaration
public virtual INotifyExpression<T> Reduce()
Returns
Type Description
INotifyExpression<T>

A simpler expression representing the same incremental value (e.g. a constant if this expression can be constant), otherwise itself

| Edit this page View Source

Set(INotifiable)

Add the given DDG node to the list

Declaration
public void Set(INotifiable node)
Parameters
Type Name Description
INotifiable node

The DDG node to add

| Edit this page View Source

SetDummy()

Sets a dummy

Declaration
public void SetDummy()
| Edit this page View Source

ToString()

Declaration
public override string ToString()
Returns
Type Description
string
Overrides
Expression.ToString()
| Edit this page View Source

Unset(INotifiable, bool)

Unset the given DDG node as successor

Declaration
public void Unset(INotifiable node, bool leaveDummy = false)
Parameters
Type Name Description
INotifiable node

the DDG node

bool leaveDummy

True, to leave the dummy in operation, otherwise False

| Edit this page View Source

UnsetAll()

Clear the list

Declaration
public void UnsetAll()

Events

| Edit this page View Source

ValueChanged

Gets fired when the value changed

Declaration
public event EventHandler<ValueChangedEventArgs> ValueChanged
Event Type
Type Description
EventHandler<ValueChangedEventArgs>

Implements

INotifyExpression<T>
INotifyValue<T>
INotifyExpression
INotifiable
IDisposable
IValueChangedNotificationResult<T>
IValueChangedNotificationResult
INotificationResult
ISuccessorList

Extension Methods

DebugExtensions.ExportToDgml(INotifiable, string)
DebugExtensions.Visualize(INotifiable)
ReversableExtensions.AsReversable<T>(INotifyValue<T>, Action<T>)
ExpressionExtensions.AsOne<T>(T)
  • Edit this page
  • View Source
In this article
Back to top Generated by DocFX