Анонимные методы позволяют создавать метод без явного указания имени. Они используются вместе с делегатами и позволяют определить логику прямо в месте использования.
Определение анонимного метода
Анонимный метод объявляется с помощью ключевого слова delegate
без указания имени метода.
Пример использования:
using System;
class Program
{
delegate void MessageDelegate(string message);
static void Main()
{
MessageDelegate showMessage = delegate (string message)
{
Console.WriteLine("Сообщение: " + message);
};
showMessage("Привет, мир!");
}
}
Использование анонимных методов с делегатами
Анонимные методы удобны, когда требуется передавать небольшие фрагменты кода в качестве аргументов.
Пример с Func
:
using System;
class Program
{
static void Main()
{
Func<int, int, int> sum = delegate (int a, int b)
{
return a + b;
};
Console.WriteLine(sum(3, 5)); // Выведет: 8
}
}
Ограничения анонимных методов
- Нельзя использовать
out
параметры. - Нельзя перегружать.
- Не поддерживает атрибуты.
Когда использовать
- Когда необходимо передать метод в качестве аргумента.
- Когда требуется короткий код без явного создания метода.