Advertisement
dorabod2006

Delegate in C#

Nov 26th, 2014
179
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.43 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. public delegate void En(string message);
  8. public delegate string De();
  9.  
  10. namespace MQueue
  11. {
  12.     class Program
  13.     {
  14.         static void Main(string[] args)
  15.         {
  16.             MQueue myqu = new MQueue();
  17.  
  18.             En a;
  19.             De b;
  20.  
  21.             a = new En(myqu.enqueue); //keep method enqueue in delegate En
  22.             a("Hello How are you?"); //use it like -> myqu.enqueue("Hello How are you?");
  23.             a("I'm fine, Thankyou");
  24.            // myqu.enqueue("Hello How are you");
  25.            // myqu.enqueue("I'm fine, Thankyou");
  26.  
  27.            b = new De(myqu.dequeue); //keep method dequeue in delegate De
  28.            
  29.  
  30.            string text;
  31.             while (myqu.isempty() == false) {
  32.                 text = b(); //use it like -> myqu.dequeue();
  33.                 Console.WriteLine("{0}", text);
  34.             }
  35.         }
  36.     }
  37.  
  38. class MQueue
  39.     {
  40.         ArrayList queue;
  41.         public MQueue() { queue = new ArrayList(); }
  42.  
  43.  
  44.         public void enqueue(string message)
  45.         {
  46.             queue.Add(message);
  47.         }
  48.         public string dequeue()
  49.         {
  50.             string message = (string)queue[0];
  51.             queue.RemoveAt(0);
  52.             return message;
  53.         }
  54.         public bool isempty()
  55.         {
  56.             return queue.Count == 0;
  57.         }
  58.  
  59.  
  60.     }
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement