Delegate C# example

Example 1: C# delegate

using System;

	public class CargoAircraft
    {
      	// Create a delegate type (no return no arguments)
        public delegate void CheckQuantity();
		// Create an instance of the delegate type
        public CheckQuantity ProcessQuantity;

        public void ProcessRequirements()
        {
          // Call the instance delegate
          // Will invoke all methods mapped
            ProcessQuantity();
        }
    }

    public class CargoCounter
    {
        public void CountQuantity() { }
    }

    class Program
    {
        static void Main(string[] args)
        {
            CargoAircraft cargo = new CargoAircraft();
            CargoCounter cargoCounter = new CargoCounter();
			
          	// Map a method to the created delegate
            cargo.ProcessQuantity += cargoCounter.CountQuantity;
          	
          	// Will call instance delegate invoking mapped methods
            cargo.ProcessRequirements();
        }
    }
}

Example 2: delegate function c#

// Create the Delgate method.
public delegate void Del(string message);

// Create a method for a delgate.
public static void DelegateMethod(string message)
{
  Console.WriteLine(message);
}

// Instatiate the delegate.
Del hadler = DelegateMethod;

// Call the delegate.
hadler("Hello World");

// Output
// Hello World

Example 3: delegate declaration in c#

public delegate int PerformCalculation(int x, int y);