public void SerializerShouldPreserveTypes() { var proxy = new Proxy(); var tproxy = ProxyGen.CreateInstance <IBar>(proxy); tproxy.Test(new A(), new object[] { new B(), new C() }); var ser = _serializer; var binder = new DefaultMethodBinder(); var ms = new MemoryStream(); ser.SerializeCall(ms, binder, "Target", proxy.LastCall); ms.Seek(0, SeekOrigin.Begin); var call = ser.DeserializeCall(ms, binder, new TargetSelector(new Target()), "ctx"); call.Method.Invoke(call.Target, call.Arguments); }
public void TestSerializeAndDeserialize() { var proxy = new Proxy(); var tproxy = ProxyGen.CreateInstance <IFoo>(proxy); tproxy.Test(1, new List <string> { "2", "3" }); var ser = _serializer; var binder = new DefaultMethodBinder(); var ms = new MemoryStream(); ser.SerializeCall(ms, binder, "Target", proxy.LastCall); ms.Seek(0, SeekOrigin.Begin); var call = ser.DeserializeCall(ms, binder, new TargetSelector(new Target()), "ctx"); call.Method.Invoke(call.Target, call.Arguments); }