public override void OnReplaceNode(MathNode replaced) { if (replaced != null) { _dataType = replaced.DataType; int n = this.ChildNodeCount; for (int i = 0; i < n; i++) { MathNodeCondition mc = this[i] as MathNodeCondition; if (mc != null) { mc[1] = replaced.CloneExp(mc) as MathNode; } else { MathNodeValue v = this[i] as MathNodeValue; if (v != null) { v.ValueType = replaced.DataType.Clone() as RaisDataType; } } } } }