ГЛАВНАЯ     АРХИВ     НАПИСАТЬ АДМИНУ     ПОДПИСАТЬСЯ НА RSS     ВОЙТИ      

Поиск

Категории

Облако тегов

  << Предыдущий пост       Следующий пост >>  
От: inbruk
5. ноября 2011 19:30

Как то коллега спросил меня - "Как можно использовать анонимные методы с делегатом и когда мы это должны делать?"

Используя анонимные методы вы уменьшаете кодовый оверхед при инстанцировании делегатов, урезая необходимость в создании отдельного метода. Вы можете использовать его для запуска мелких кусков кода, которые в другом случае потребовали бы именованного метода или использовать его как быстрый обработчик событий без имени.

Дальше код, который показывает как сделать это.

namespace ConsoleApplication2
{
// Define a Delegate
delegate int AddThenMultiply(int i, int j);

class Class1
{
static void Main(string[] args)
{
// Instatiate delegate type using anonymous method
AddThenMultiply atm = delegate(int i, int j)
{
return (i + j) * 2;
};

// Anonymous delegate call
int result = atm(2, 3);
Console.WriteLine("Result is: " + result);
Console.ReadLine();
}

}
}

Это перевод. Оригинал здесь.

Похожие записи


Перегрузка методов в C#
Перегрузка методов позволяет программистам на С# многократно использовать одни и те же имена методов, меняя лишь передаваемые аргументы. Это очень полезно, по крайней мере, в двух сценариях. Первый. Вам нужно иметь единое имя метода, поведение которого немного различается в зависимости от типа переданных аргументов. Допустим, у вас есть класс, отвечающий за протоколир...

Замещение (new) методов в C#
Давайте сначала рассмотрим способы замещения функциональности базового класса в унаследованном методе. Начнем с базового класса, представляющего сотрудника. Чтобы максимально упростить пример, у этого класса будет единственный метод CalculatePay, который будет сообщать имя вызываемого метода и ничего более. Позднее это поможет нам определить, какие методы дерева насле...

Несколько методов Main в C#
В С# разработчиками включен механизм, позволяющий определять более одного класса с методом Main. Зачем это нужно? Одна из причин — необходимость поместить в ваши классы тестовый код. Затем, используя переключатель /main:<имя_Класса>, компилятору С# можно задавать класс, метод Main которого должен быть задействован. Вот пример, в котором создано два класса,...

Комментарии

 
4aIIaeB 10.03.2012 16:48:18 #


и снова - основы языка С#

Добавить комментарий




biuquote
  • Комментарий
  • Предпросмотр
Loading


  Сохранить комментарий