Chinese Powered Labs

Delegate

In programming, a delegate is a type that represents a reference to a method. It’s similar to a function pointer in C, but it’s type-safe and easier to use.

Delegates are used in many situations where you want to pass a method as an argument to another method. For example, you might use a delegate to specify a method to be called back when an event occurs, or to specify a method to be used as a comparer when sorting a list.

Here’s an example of how you might use a delegate in C#:

using System;

delegate int MyDelegate(int x, int y);

class Program
{
    static int Add(int x, int y) { return x + y; }
    static int Multiply(int x, int y) { return x * y; }

    static void Main(string[] args)
    {
        MyDelegate d1 = Add;
        MyDelegate d2 = Multiply;

        Console.WriteLine(d1(3, 4));  // Outputs 7
        Console.WriteLine(d2(3, 4));  // Outputs 12
    }
}

In this example, the MyDelegate type represents a reference to a method that takes two int arguments and returns an int. The Add and Multiply methods have the same signature, so they can be assigned to variables of type MyDelegate.

Exit mobile version