Чтобы решить конкретную ситуацию, о которой вы упоминали, вы будете слишком усложнять ситуацию, явно используя делегата, и даже больше, если вы действительно не понимаете, что происходит за кулисами (я не говорю, что вы не т) ...
В более общем смысле, вы можете думать о делегате как о «контракте» (или как «указатель на функцию», если ваш фон находится в C / C ++): вы говорите компилятору ожидать, что в этом месте функция получит заданный список параметров и предоставление заданного вывода (возможно, void
), но вы не скажете ему, что на самом деле делает функция. Это «отделяет» тело метода от реальной реализации функции, давая вам свободу передавать несколько разных реализаций из разных частей вашего кода.
Кажется, есть довольно хорошие, более подробные объяснения в этой теме.