Esempio n. 1
0
 public override bool TryInvokeMember(InvokeMemberBinder binder, object[] args, out object result)
 {
     var msg = new Message(binder, args);
     Apply(msg);
     result = null;
     return true;
 }
Esempio n. 2
0
 public virtual void Apply(Message msg)
 {
     var instances = Registry.InstancesForMessage(msg).ToArray();
     foreach (var inst in instances.Where(x=> x is AR))
         (inst as AR).Apply = this;
     foreach (var inst in instances)
         msg.InvokeOnInstanceIfPossible(inst, "Can");
     foreach (var inst in instances)
         msg.InvokeOnInstanceIfPossible(inst);
 }
Esempio n. 3
0
 public virtual void Apply(Message msg)
 {
     var instances = Registry.InstancesForMessage(msg).ToArray();
     // initialize AR event handlers
     foreach (var inst in instances.Where(x => x is AR))
     {
         (inst as AR).ApplyEvent = this;
         (inst as AR).Apply = @event => Handle(@event);
     }
     foreach (var inst in instances)
         msg.InvokeOnInstanceIfPossible(inst, "Can");
     foreach (var inst in instances)
         msg.InvokeOnInstanceIfPossible(inst);
 }