************************Посмотреть*****************************
public delegate int ArithmeticOperation(int x,int y);
class Calculator
{
public ArithmeticOperation PlusFunction()
{
ArithmeticOperation func = delegate(int x, int y) { return x + y; };
return func;
}
public ArithmeticOperation MinusFunction()
{
ArithmeticOperation func = delegate(int x, int y) { return x - y; };
return func;
}
}
////////////////////////////////////////////////////////////////////////////////
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
button1.Click += delegate { MessageBox.Show("example"); };
Calculator calculator = new Calculator();
ArithmeticOperation func = calculator.PlusFunction();
int result = func(5, 5);
MessageBox.Show(result.ToString());
}
}
***************************Next********************************
class Calculator
{
public Func<int, int, int> PlusFunction()
{
Func<int,int,int> func = delegate(int x, int y) { return x + y; };
return func;
}
public Func<int, int, int> MinusFunction()
{
Func<int, int, int> func = delegate(int x, int y) { return x - y; };
return func;
}
}
////////////////////////////////////////////////////////////////////////////////
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
button1.Click += delegate { MessageBox.Show("example"); };
Calculator calculator = new Calculator();
Func<int, int, int> func = calculator.PlusFunction();
int result = func(3, 5);
MessageBox.Show(result.ToString());
}
}
***************************Next********************************
class Calculator
{
public Func<int, int, int> PlusFunction()
{
Func<int,int,int> func = (x, y)=> x + y;
return func;
}
public Func<int, int, int> MinusFunction()
{
Func<int, int, int> func = (x, y) => x - y;
return func;
}
}
////////////////////////////////////////////////////////////////////////////////
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
button1.Click += delegate { MessageBox.Show("example"); };
Func<int, int, int> func = (x,y)=>x-y;
Func<int, Func<int, int, int>, int> func2 = (k, f) => f(2, 3) * k;
int result = func2(5, func);
MessageBox.Show(result.ToString());
}
}