private void Evaluate(DependencyVertex dependencyVertex) { object value = null; var formula = Formulae.Formulas.FirstOrDefault(x => x.Variable.Name == dependencyVertex.Name); if (formula != null) { value = Evaluate(formula.Expression); } State[dependencyVertex.Name] = value; }
private void Propagate(DependencyVertex dependencyVertex, bool evaluateVertex = true) { if (evaluateVertex) { Evaluate(dependencyVertex); } foreach (var vertice in dependencyVertex.Vertices) { var target = _reverseDependencyDependencyGraph.GetVertex(vertice.Target.Name); Propagate(target); } }
public DependencyVertice(DependencyVertex target) { Target = target; }