What is Delegates in C# Example | Use of Delegates in C#
In Simple Language A delegate is an object that can refer to a method. Thus, when you create a delegate, you are creating an object that can hold a reference to a method.
Syntax of Delegate & Methods Declaration
Example:
Output:
Example
Output:
In Simple Language A delegate is an object that can refer to a method. Thus, when you create a delegate, you are creating an object that can hold a reference to a method.
Syntax of Delegate & Methods Declaration
public delegate int Delegatmethod(int a,int b); public class Sampleclass { public int Add(int x, int y) { return x + y; } public int Sub(int x, int y) { return x + y; } } |
Example:
public delegate int DelegatSample(int a,int b); public class Sampleclass { public int Add(int x, int y) { return x + y; } public int Sub(int x, int y) { return x - y; } } class Program { static void Main(string[] args) { Sampleclass sc=new Sampleclass(); DelegatSample delgate1 = sc.Add; int i = delgate1(10, 20); Console.WriteLine(i); DelegatSample delgate2 = sc.Sub; int j = delgate2(20, 10); Console.WriteLine(j); } } |
Output:
Add Result : 30 Sub Result : 10 |
Delegates
are two types
- Single Cast Delegates
- Multi Cast Delegates
public delegate void MultiDelegate(int a,int b); public class Sampleclass { public static void Add(int x, int y) { Console.WriteLine("Addition Value: "+(x + y)); } public static void Sub(int x, int y) { Console.WriteLine("Subtraction Value: " + (x - y)); } public static void Mul(int x, int y) { Console.WriteLine("Multiply Value: " + (x * y)); } } |
Example
public delegate void MultiDelegate(int a,int b); public class Sampleclass { public static void Add(int x, int y) { Console.WriteLine("Addition Value: "+(x + y)); } public static void Sub(int x, int y) { Console.WriteLine("Subtraction Value: " + (x - y)); } public static void Mul(int x, int y) { Console.WriteLine("Multiply Value: " + (x * y)); } } class Program { static void Main(string[] args) { Sampleclass sc=new Sampleclass(); MultiDelegate del = Sampleclass.Add; del += Sampleclass.Sub; del += Sampleclass.Mul; del(10, 5); Console.ReadLine(); } } |
Output:
Addition Value : 15 Subtraction Value : 5 Multiply Value : 50 |
No comments:
Post a Comment