public virtual void DataAskedHost(object par) { // [0] - главный идентификатор // [1][0] - вспомогательный идентификатор // [1][...] - остальные параметры - parToAsked object [] parToAsked = null; try { parToAsked = new object [((par as object []) [1] as object []).Length - 1]; for (int i = 0; i < parToAsked.Length; i++) { parToAsked [i] = ((par as object []) [1] as object []) [i + 1]; } //Вариант №1 - без потока //EvtDataAskedHost.BeginInvoke(new EventArgsDataHost((int)(par as object[])[0], new object[] { (par as object[])[1] }), new AsyncCallback(this.dataRecievedHost), new Random()); var arHandlers = EvtDataAskedHost.GetInvocationList(); foreach (var handler in arHandlers.OfType <DelegateObjectFunc> ()) { handler.BeginInvoke(new EventArgsDataHost( (int)(par as object []) [0] , (int)((par as object []) [1] as object []) [0] , parToAsked) , new AsyncCallback(this.dataRecievedHost), new Random()); } ////Вариант №2 - с потоком //Thread thread = new Thread (new ParameterizedThreadStart (dataAskedHost)); //thread.Start(par); } catch (Exception e) { Logging.Logg().Exception(e, @"HDataHost::DataAskedHost () - ...", Logging.INDEX_MESSAGE.NOT_SET); } }
protected void DataAskedHost(object par) { //Вариант №1 - без потока EvtDataAskedHost.BeginInvoke(new EventArgsDataHost(_Id, new object [] { par }), new AsyncCallback(this.dataRecievedHost), new Random()); ////Вариант №2 - спотоком //Thread thread = new Thread (new ParameterizedThreadStart (dataAskedHost)); //thread.Start(par); }
public virtual void DataAskedHost(object par) { try { //Вариант №1 - без потока //EvtDataAskedHost.BeginInvoke(new EventArgsDataHost((int)(par as object[])[0], new object[] { (par as object[])[1] }), new AsyncCallback(this.dataRecievedHost), new Random()); var arHandlers = EvtDataAskedHost.GetInvocationList(); foreach (var handler in arHandlers.OfType <DelegateObjectFunc>()) { handler.BeginInvoke(new EventArgsDataHost((int)(par as object[])[0], (int)(par as object[])[1], new object[] { (par as object[])[2] }), new AsyncCallback(this.dataRecievedHost), new Random()); } ////Вариант №2 - с потоком //Thread thread = new Thread (new ParameterizedThreadStart (dataAskedHost)); //thread.Start(par); } catch (Exception e) { Logging.Logg().Exception(e, @"HDataHost::DataAskedHost () - ...", Logging.INDEX_MESSAGE.NOT_SET); } }
/// <summary> /// Отправить запрос главной форме /// </summary> /// <param name="par">Набор параметров</param> public void DataAskedHost(object par) { EvtDataAskedHost.BeginInvoke(new EventArgsDataHost(-1, -1, new object [] { par }), new AsyncCallback(this.dataRecievedHost), new Random()); }
public void DataAskedHost(object par) { EvtDataAskedHost?.Invoke(par); }