Оглавление:
Определение - что означает делегат?
Делегат - это объектно-ориентированный, управляемый, безопасный и типобезопасный указатель на функцию в .NET Framework. Подпись делегата включает его имя, тип возвращаемого значения и передаваемые ему аргументы. Вместо передачи данных делегат передает метод другому методу. Делегаты используются во многих контекстах, включая реализацию обратных вызовов и обработчиков событий, точек входа и нескольких типов спецификаций методов. Поскольку делегат не знает класс объекта, на который ссылаются, он используется для анонимного вызова.
Техопедия объясняет делегат
Основная цель делегата - связать объект делегата с вызывающей стороной, что означает, что ссылка на вызываемый метод не требует спецификации во время компиляции. Делегаты играют жизненно важную роль в модели программирования, управляемой событиями, где обработчики событий добавляются к элементам управления пользовательского интерфейса.
Типы делегатов:
- Single-Cast: указывает на один метод
- Multicast: Относится к нескольким методам, каждый из которых имеет одну и ту же сигнатуру и включает только методы, возвращающие void, чтобы избежать исключений во время выполнения
- Они выполняются с разрешениями вызывающей, а не деклараторной.
- Объекты делегата являются неизменяемыми.
- Его модификатор доступа по умолчанию является приватным (внутренним) или публичным.
- Делегат может использоваться только после создания экземпляра.
- Делегаты могут быть объявлены как вложенные типы с модификаторами доступности для их содержащего класса или структуры. В случае сбоя во время выполнения метода делегата, выброшенное исключение передается вызывающей стороне делегата, и дальнейшие вызовы останавливаются.
