예제 #1
0
 public static Message FromObject(object msg)
 {
     var m = new Message();
     m.MethodName = msg.GetType().Name;
     m.Parameters = msg.GetType().GetProperties().Select(x => new KeyValuePair<string, object>(x.Name, x.GetValue(msg, null)))
         .Union(msg.GetType().GetFields().Select(x => new KeyValuePair<string, object>(x.Name, x.GetValue(msg))));
     return m;
 }
예제 #2
0
 public void Add(Message msg)
 {
     msgs.Add(msg);
 }
예제 #3
0
 public static Message FromAction(Action<dynamic> a)
 {
     var msg = new Message();
     a(msg);
     return msg;
 }
예제 #4
0
 public override bool TryInvokeMember(InvokeMemberBinder binder, object[] args, out object result)
 {
     var msg = new Message(binder, args);
     this.MethodName = msg.MethodName;
     this.Parameters = msg.Parameters;
     result = msg;
     return true;
 }