I just encounter a piece of tricky code, and apparently, it doesn't work, but the reason why it's not working is a bit tricky indeed:
using System;
public class Client : MarshalByRefObject
{
public delegate void MessageCallBack();
static void Main()
{
AppDomain ad = AppDomain.CreateDomain("ServerDomain");
Client client = (Client)ad.CreateInstanceAndUnwrap(typeof(Client).Assembly.FullName, "Client");
String msg = "Login";
MessageCallBack callback = new MessageCallBack(delegate { Console.WriteLine(msg);});
client.SendMessage(callback);
}
public void SendMessage(MessageCallBack callback)
{
callback();
}
}
Hopefully this piece of puzzle can make your day:D
Sheva