/// <summary> /// Construction of elements /// with a dynamic element (not working in constructor's function) /// </summary> /// <param name="type">value type</param> /// <param name="op">operator</param> /// <param name="value">value</param> /// <param name="owner">owner object</param> protected void Construct(byte type, char op, dynamic value, IArithmetic owner) { this[typeValueName] = type; this[arithmeticOperatorName] = op; this[valueName] = value; this[hashCodeName] = owner.GetHashCode(); this.ownerObject = owner; owner.Fetch += Owner_Fetch; owner.Unfetch += Owner_Unfetch; }