Krishna Veni Ответов: 2

Почему делегаты нуждаются в C# для вызова метода


c# имеет два типа членов-статические и экземплярные члены
Для вызова статических членов с использованием имени класса
Для вызова членов экземпляра с помощью экземпляра класса
но зачем вам нужны делегаты в c# для вызова членов




пожалуйста, помогите мне.

спасибо тебе

Что я уже пробовал:

Для вызова статических членов с использованием имени класса
Для вызова членов экземпляра с помощью экземпляра класса
но зачем вам нужны делегаты в c# для вызова членов

2 Ответов

Рейтинг:
2

OriginalGriff

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

Это используется для обработчиков событий: нажимается кнопка, которая вызывает событие Click.
Система смотрит на переменную обработчика событий Click и выполняет найденную там функцию. (Это ужасное упрощение, но пока сойдет.)

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


phil.o

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

Рейтинг:
2

BillWoodruff

Ваш вопрос наводит меня на мысль, что вам нужно получить более прочную основу для понимания основ C# и .NET. Я предлагаю вам взять хорошую книгу и учиться.

Вот две бесплатные книги: [^], [^]

Статические типы В C#, определенные в классе, можно рассматривать как "экземпляры класса", а не экземпляры членов класса. Экземпляр класса Статические члены по своей сути являются одиночка объекты: независимо от того, сколько экземпляров класса создается, будет только один из каждого статического члена.