/// <summary> /// Метод удаления объекта /// </summary> public void DeleteObject() { aUnsuscribeDependSlave(); aUnsuscribeSlave(); aUnsuscribeMaster(); _dependSlave = null; _slave = null; _master = null; _identity = null; aUnsuscribeDependSlave = aUnsuscribeMaster = aUnsuscribeSlave = null; event_ObjectDeleted?.Invoke(this, new ea_IdObject(this)); }
protected void init_slave(IId slaveID, ILine slaveLine) { slave = new linkMember(this, e_DependType.Slave); slave.init_member(slaveID, slaveLine, Hlp.GetDepenDot(limit, e_DependType.Slave)); slave.date = master.getObjectDependDotInfo().GetDate(); event_LimitChanged += slave.handler_limitTypeChanged; event_DelayChanged += slave.handler_delayChanged; master.getObjectDependDotInfo().event_DateChanged += slave.handler_dependDateChange; }
/// <summary> /// Метод основной инициализации (запускается первым) /// </summary> /// <param name="limit">Вид связи</param> /// <param name="delay">Задержка связи</param> protected void init_default(e_TskLim limit, double delay = 0) { //Запускать первым из инитов if (!Enum.IsDefined(typeof(e_TskLim), limit)) throw new ArgumentException("Wrong e_TskLim value"); _identity = new Identity(e_Entity.Link); _limit = limit; _delay = delay; _state = e_LnkState.InTime; _master = new linkMember(this, e_DependType.Master); _slave = new linkMember(this, e_DependType.Slave); }
protected void init_master(IId masterID, ILine masterLine) { master = new linkMember(this, e_DependType.Master); master.init_member(masterID, masterLine, Hlp.GetDepenDot(limit, e_DependType.Master)); event_LimitChanged += master.handler_limitTypeChanged; master.date = master.getObjectDependDotInfo().GetDate(); master.delay = 0; master.getObjectDependDotInfo().event_DateChanged += master.handler_dependDateChange; }