static void RunAsyncDelegate()
        {
            AsyncDelegate tmpClass = new AsyncDelegate();

            AsyncDelegate.FirstSubscriber fst = new AsyncDelegate.FirstSubscriber();
            fst.Subscribe(tmpClass);
            AsyncDelegate.SecondSubscriber scd = new AsyncDelegate.SecondSubscriber();
            //scd.Subscribe (tmpClass);
            int result = tmpClass.returnIntDelegate();

            Console.WriteLine("result = {0}", result);
            result = tmpClass.returnIntDelegate();
            Console.WriteLine("result = {0}", result);
            result = tmpClass.returnIntDelegate();
            Console.WriteLine("result = {0}", result);

            tmpClass.Run();
        }
 public void Subscribe(AsyncDelegate theClass)
 {
     theClass.returnIntDelegate += delegate {
         return(myCounter += 2);
     };
 }