2 using System.Runtime.Remoting;
3 using System.Runtime.Remoting.Messaging;
4 using System.Runtime.Remoting.Proxies;
5 using System.Collections.Generic;
7 class MyProxy : RealProxy {
8 readonly MarshalByRefObject target;
10 public MyProxy (MarshalByRefObject target) : base (target.GetType())
15 public override IMessage Invoke (IMessage request) {
16 IMethodCallMessage call = (IMethodCallMessage)request;
17 return RemotingServices.ExecuteMessage (target, call);
21 class R1 : MarshalByRefObject {
23 public void foo (out Dictionary<string, int> paramAssignmentStatus) {
25 paramAssignmentStatus = new Dictionary<string, int> ();
26 paramAssignmentStatus.Add ("One", 1);
32 MyProxy real_proxy = new MyProxy (new R1 ());
33 R1 o = (R1)real_proxy.GetTransparentProxy ();
35 Dictionary<string, int> i;