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/05/2017 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

OOPs Concepts
Session Objectives: Discuss the following: Drawbacks of traditional programming Need for Object: Oriented approach Object: Oriented techniques Discuss Object: Oriented Concepts Objects. Classes. Abstraction. Inheritance. Encapsulation. Polymorphism. Need...

Samir Bhogayta | 03 Jan

0 0
0
.NET With AngularJS Training Program Syllabus
What You will Learn in .NET with AngularJS Training Program? Introduction to .Net: Features of .Net, CTS, CLS, CLR and MSIL. C# & .Net Basics and Branching & Flow Control. OOPs Concepts, Abstract...

DeCode Classes | 18/12/2017

0 0
0
Pro Developer Program Syllabus
What you will learn in Pro-Developer Program: i. Introduction to Web Technologies. ii. Introduction to .Net - Features of .Net, CTS, CLS, CLR and MSIL. iii. C# & .Net Basics - Data Types, Type...

DeCode Classes | 23/11/2017

1 0
0
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/10/2017

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/08/2017

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 »