public static void RunSynchronously <T>(IEnumerable <Sink <T> > list, Action <T> callback) where T : class { foreach (Sink <T> cur in list) { SafeInvoke.Invoke(cur.ISynchronizeInvoke, callback, cur.ISink); } }
public static void RunSynchronouslyNoThrow <T>(IEnumerable <Sink <T> > enumerable, Action <T> callback, LogItemType type, string category) where T : class { foreach (Sink <T> cur in enumerable) { try { SafeInvoke.Invoke(cur.ISynchronizeInvoke, callback, cur.ISink); } catch (Exception ex) { Logger.Log(type, category, ex.Message, ex); } } }
public void Invoke(SinkCallback <T> callback) { SafeInvoke.Invoke(m_invoke, () => callback(this)); }