Как использовать анонимные методы в C#

Мой предыдущий пост Использование предопределенные типы делегатов Action, Func и EventHandler в C# объясняют, как использовать предопределенные общие типы делегатов Func, Action и EventHandler для построения четырех функций F (x, y). Он использует следующий код для определения функций и вызова их.

Код сначала определяет четыре функции F1, F2, F3 и F4. Четыре обработчика CheckBox управления

Тот факт, что их имена F1, F2, F3, а F4 является подсказкой о том, что сами функции сами по себе не имеют смысла. Они в основном определены, переданы в DrawGraph, а затем забыли.

Поскольку функции не используются в других частях программы, вы можете заменить эти функции анонимными методами. Анонимный метод - это в основном делегат, который ссылается на некоторый код, который не имеет имени. Вы можете сохранить делегат в переменной делегата или передать его методу в качестве параметра.

Синтаксис анонимного метода:

Здесь параметры определяют любые параметры, которые должен принять делегат. Если код внутри фигурных скобок возвращает значение, он должен использовать оператор return, как и любой другой метод.

Следующий код показывает, как этот пример сообщения использует анонимные методы для обработки событий CheckedChanged.

В этой версии обработчики событий передают четыре функции методу DrawGraph как анонимные методы, поэтому программе не нужно определять функции отдельно. Это делает код более понятным и понятным, хотя третий анонимный метод немного длинный. Если бы эта функция была намного длиннее, было бы лучше поместить ее код в именованный метод, чтобы сделать код более читаемым.

Обычно вы не должны использовать анонимный метод, если метод будет использоваться в нескольких местах, если его код слишком длинный, или если в противном случае было бы менее запутанным использовать именованный метод. Анонимные методы не дают вам каких-либо реальных преимуществ по производительности (в отличие от встроенных макросов, используемых некоторыми языками программирования), поэтому вы должны использовать их только в том случае, если они упрощают понимание кода.

В следующем посте я покажу, как вы можете использовать лямбда-выражения, чтобы упростить определение анонимных методов.

Источник: http://csharphelper.com/blog/2017/11/use-anonymous-methods-in-c/

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)

Add a Comment

Ваш e-mail не будет опубликован. Обязательные поля помечены *