Делегаты в C#
НАВИГАЦИЯ ПО СТРАНИЦЕ
Делегаты — это типы данных, которые позволяют передавать методы как параметры других методов. Они представляют собой объектно-ориентированный способ обеспечения ссылочной безопасности и вызова методов посредством делегирования.
Определение делегатов:Делегаты определяются как типы, которые представляют собой ссылки на методы.
Они объявляются с использованием ключевого слова delegate.
public delegate void ExampleDelegate(string message);
Использование делегатов:Делегаты позволяют передавать методы как параметры других методов или использовать их для обратного вызова.
public class DelegateExample { public void MethodA(string message) { Console.WriteLine("MethodA: " + message); } public void MethodB(string message) { Console.WriteLine("MethodB: " + message); } }
Пример использования :Создание экземпляра делегата и связывание его с методами для последующего вызова.
public class Program { public static void Main(string[] args) { DelegateExample example = new DelegateExample(); ExampleDelegate delegateA = example.MethodA; ExampleDelegate delegateB = example.MethodB; delegateA("Hello"); delegateB("World"); } }
Пример кода:
using System;
public delegate void ExampleDelegate(string message);
public class DelegateExample
{
public void MethodA(string message)
{
Console.WriteLine("MethodA: " + message);
}
public void MethodB(string message)
{
Console.WriteLine("MethodB: " + message);
}
}
public class Program
{
public static void Main(string[] args)
{
DelegateExample example = new DelegateExample();
ExampleDelegate delegateA = example.MethodA;
ExampleDelegate delegateB = example.MethodB;
delegateA("Hello");
delegateB("World");
}
}
Этот код создает делегат ExampleDelegate, который может ссылаться на методы MethodA и MethodB класса DelegateExample. После этого он использует эти делегаты для вызова соответствующих методов с сообщениями.
Делегаты позволяют передавать методы как параметры и использовать их для вызова других методов, обеспечивая гибкость и удобство в программировании.