using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class MathOperations
{
public static double MultiplyByTwo(double value)
{
return value * 2;
}
public static double Square(double value)
{
return value * value;
}
}
delegate double DoubleOpt(double x);
class Program
{
public enum TimeOfDay
{
Morning = 0,
Afternoons = 1,
Evening = 2
}
static void Main(string[] args)
{
DoubleOpt[] opt = {
MathOperations.MultiplyByTwo,
MathOperations.Square
};
for (int i = 0; i < opt.Length;i++ )
{
System.Console.WriteLine("Using Options [{0}]:",i);
ProcessAndDisplayNumber(opt[i], 2.0);
ProcessAndDisplayNumber(opt[i], 7.94);
ProcessAndDisplayNumber(opt[i], 1.414);
Console.WriteLine();
}
}
static void ProcessAndDisplayNumber(DoubleOpt opt,double value)
{
double result = opt(value);
System.Console.WriteLine("Value is {0}, result of operation is {1}",
value,result);
}
}
}