/// <summary> /// Filters the consuming objects by calling a Func<S, Boolean>. /// </summary> /// <param name="ArrowSender">The sender of the messages/objects.</param> /// <param name="FilterFunc">A Func<S, Boolean> filtering the consuming objects. True means filter (ignore).</param> /// <param name="Recipient">A recipient of the processed messages.</param> /// <param name="Recipients">Further recipients of the processed messages.</param> public static FuncFilterArrow <TMessage> FuncFilter <TMessage>(this IArrowSender <TMessage> ArrowSender, Func <TMessage, Boolean> FilterFunc, IArrowReceiver <TMessage> Recipient, params IArrowReceiver <TMessage>[] Recipients) { var _FuncFilterArrow = new FuncFilterArrow <TMessage>(FilterFunc, Recipient, Recipients); ArrowSender.OnMessageAvailable += _FuncFilterArrow.ReceiveMessage; return(_FuncFilterArrow); }
/// <summary> /// Filters the consuming objects by calling a Func<S, Boolean>. /// </summary> /// <param name="ArrowSender">The sender of the messages/objects.</param> /// <param name="FilterFunc">A Func<S, Boolean> filtering the consuming objects. True means filter (ignore).</param> public static FuncFilterArrow <TMessage> FuncFilter <TMessage>(this IArrowSender <TMessage> ArrowSender, Func <TMessage, Boolean> FilterFunc) { var _FuncFilterArrow = new FuncFilterArrow <TMessage>(FilterFunc); ArrowSender.OnMessageAvailable += _FuncFilterArrow.ReceiveMessage; return(_FuncFilterArrow); }