C#
Безымянная функция на месте делегата
using System;
namespace ConsoleApplication1
{
class Program
{
// описание делегата
delegate bool ShowText(String text);
// вход программы
static void Main(string[] args)
{
// имплементация делегата
ShowText show = delegate(String str){
Console.WriteLine(str);
return true;
};
// вызов метода (делегат указывает на безымянный метод)
show("Hello!");
}
}
}
C#
Безымянная функция на месте параметра в методе
using System;
namespace ConsoleApplication1
{
class Program
{
// описание делегата
delegate void ShowText(String text);
// метод расчета суммы
static void CalcualteSum(int a, int b, ShowText showDelegate)
{
int result = a + b;
// вызов метода
showDelegate(result.ToString());
}
// вход программы
static void Main(string[] args)
{
// считаем сумму и отображаем на экране
CalcualteSum(10, 20, delegate(String text)
{
Console.WriteLine(text);
});
}
}
}