C# Delegates Edit
Introduction
A delegate is an object which refers to a method or a reference type variable that can hold a reference to the methods. Delegates in C# are similar to the function pointer in C/C . It provides a way which tells which method is to be called when an event is triggered.
Example
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Hello_World { class Program { public delegate void ExceptionLogger(Exception ex); static void Main(string[] args) { HelloWorld(ErrorLogConsole); HelloWorld(ErrorLogFile); HelloWorld(ErrorLogDB); Console.ReadLine(); } public static void HelloWorld(ExceptionLogger log) { try { throw new Exception("deligate example"); } catch (Exception ex) { log(ex); } } public static void ErrorLogConsole(Exception exception) { Console.WriteLine("\tConsole Logger"); Console.WriteLine(exception.ToString()); } public static void ErrorLogFile(Exception exception) { // Code to write error to file Console.WriteLine("\tFile Logger"); Console.WriteLine(exception.ToString()); } public static void ErrorLogDB(Exception exception) { // Code to write error to db Console.WriteLine("\tDB Logger"); Console.WriteLine(exception.ToString()); } } }