Login
Signup as a Tutor

As a tutor you can connect with more than a million students and grow your network.

Understanding Delegate in C# .NET

P K Subudhi
14 May 0 0

C# Delegate technique

Delegate is one of the fantastic tool & technique in C#.NET. Using deleagte technique the following benefits could be avaialed

  • One can define a method without name (Anonymous Method)
  • One can pass a Method as argument to another Method
  • Can join (or Add) two or more non-returnable methods methods
  • Core to combine event and event actions

Here is a simple example that demonstrates how delegates are being used in C#

Delegate used with instance method, static method, general named method and Anonymous method

Delegate Example

 

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

public delegate int DelType(int n);

namespace DelDemo

{

    class Num

    {

        int a;

        public Num() { a = 0; }

        public Num(int n) { a = n; }

        public void Disp() { Console.WriteLine("Data is " + a); }

        public int Power(int n) // Instance method

        {

            int r = 1;

            while ( n> 0)

            {

                r = r * a;

                n--;

            }

            return r;

        }

        static public int Rev(int t) // Static method

        {

            int r = 0;

          

            while (t > 0)

            {

                r = (r * 10) + (t % 10);

                t = t / 10;

            }

            return r;

        }

    }

    class Program

    {

        static int Fact(int n) // Named method

        {

            int f=1;

            while(n>1)f*=n--;

            return f;

        }

        static void Main(string[] args)

        {

            DelType act = delegate(int n)  //Anonymous method

            {

                int s = 0;

                while (n > 0)

                {

                    s = s + (n % 10);

                    n = n / 10;

                }

                return s;

            };

            Console.WriteLine("Sum of digit is "+act(234));

            Num p = new Num(5);

            act = Num.Rev;    // Using static method

            Console.WriteLine("Reverse number is " + act(567));

            act = Fact; // Using general named method

            Console.WriteLine("Factorial is " + act(5));

            act = p.Power; //Using instance method

            Console.WriteLine("Power is " + act(3));

            Console.ReadKey();

        }

    }

}

 

0 Dislike
Follow 0

Please Enter a comment

Submit

Other Lessons for You

Object Initializers And Collection Initializers: A Syntactic Sugar In C# 3.0
i. Introduction: Object initializers and Collection initializers are part of C# 3.0.These two concepts add a flexibility, readability, and maintainability in C#. As we are C# developers, we should know...

Debendra Dash | 12 Oct

0 0
0
What Is An Array? Explain Its Type.
Array: Array is a collection of similar type of data in an array varaiable. Array start with Zero Index and maximum length of array is total element - 1. i.e., Suppose n is the length of array, total element...
N

Neelam S. | 02 Aug

0 0
0
What Is The Difference In For...Loop And Foreach Loop?
Loop is very important in C# Programing language. Loop is call iteration statement, loops are used for executing the repeated task. 1. For...Loop: The for…loop executes a statement or a block of...
N

Neelam S. | 02 Aug

0 0
0
Coding Instructions To Prevent SQL-Injection
SQL-Injection is a very sensitive and very common technology to hack an application. I am describing a few techniques to make the SQL-Injection difficult. The main point of injection is a dynamic query....

Animesh Anand | 15 Jun

0 0
0
Extension method In C#
Introduction. Hello Guys, In this article, I will explain what is extension method and why and where we should use this. Let’s understand the term extension means we are going to create something...

Surya Pandey | 03 Jun

0 0
0

Looking for C# .NET ?

Find best C# .NET in your locality on UrbanPro.

Do you offer C# .NET ?

Create Free Profile »
Sponsored

Find Best C# .NET ?

Find Now »