コード例 #1
0
        public static FluentPropertyRegistration <TData> ThenFlow <TData, TConvert>(this FluentPropertyRegistration <TData> prop, Func <TData, TConvert> converter,
                                                                                    IExposedReceiveActor owner, Action <ActorFlowBuilder <TConvert> > flowBuilder)
        {
            var aFlow = new ActorFlowBuilder <TConvert>(owner);

            flowBuilder(aFlow);

            return(aFlow.OnTrigger(flow => prop.OnChange(v => flow(converter(v)))));
        }
コード例 #2
0
 public static void RespondOnEventSource <TData>(this IExposedReceiveActor actor, IEventSource <TData> eventSource, Action <Maybe <TData> > action)
 {
     eventSource.RespondOn(ExposedReceiveActor.ExposedContext.Self);
     actor.Exposed.Receive <Maybe <TData> >((data, _) => action(data));
 }
 public EventHolder(IExposedReceiveActor actor, Action <TEvent> handler)
 {
     _handler = handler;
     _actor   = actor;
 }
 public static void SubscribeToEvent <TEvent>(this IExposedReceiveActor actor, Action <TEvent> handler)
 => new EventHolder <TEvent>(actor, handler).Register();
コード例 #5
0
        public static FluentPropertyRegistration <TData> ThenFlow <TData>(this FluentPropertyRegistration <TData> prop, IExposedReceiveActor owner, Action <ActorFlowBuilder <TData> > flowBuilder)
        {
            var aFlow = new ActorFlowBuilder <TData>(owner);

            flowBuilder(aFlow);

            return(aFlow.OnTrigger(ent => prop.OnChange(v => ent(v))));
        }