public void GetHookAsync(ITaxonomyObject source, Action <IHook> act = null) { IHook res = null; using (var wrk = new BackgroundWorker()) { wrk.DoWork += (sender, args) => { try { res = GetHook(source); } catch (Exception ex) { wrk.Dispose(); Logger.Error(ex.GetCombinedMessages()); } }; wrk.RunWorkerCompleted += (s, e) => { wrk.Dispose(); if (act != null) { act(res); } }; wrk.RunWorkerAsync(); } }
/// <summary> /// Gets the hook. /// </summary> /// <param name="source">The source.</param> /// <returns>IHook.</returns> public IHook GetHook(ITaxonomyObject source) { return(GetHook(source.Id, source.DisplayName, source.MasterDocId)); }