Mega Code Archive

 
Categories / C# / Language Basics
 

Demonstrates a simple form of a delegate

/* C# Programming Tips & Techniques by Charles Wright, Kris Jamsa Publisher: Osborne/McGraw-Hill (December 28, 2001) ISBN: 0072193794 */ // SimpDlgt.cs -- Demonstrates a simple form of a delegate // //                Compile this program using the following command line: //                    C:>csc SimpDlgt.cs using System; namespace nsDelegate { // Declare the delegate. This actually creates a new class definition.     delegate double MathOp (double value);     public class SimpDlgt     {         static public void Main ()         { // Declare an object of the delegate type.             MathOp DoMath; // Create the delgate object using a method name.             DoMath = new MathOp (GetSquare); // Execute the delegate. This actually calls the Invoke() method.             double result = DoMath (3.14159); // Show the result.             Console.WriteLine (result); // Assign another method to the delegate object             DoMath = new MathOp (GetSquareRoot); // Call the delegate again.             result = DoMath (3.14159); // Show the result.             Console.WriteLine (result);         } // Return the square of the argument.         static double GetSquare (double val)         {             return (val * val);         } // Return the square root of the argument.         static double GetSquareRoot (double val)         {             return (Math.Sqrt (val));         }     } }