воскресенье, 9 января 2022 г.

Когда вам придётся объявлять делегат

 Для полноты, вот (надеюсь, полный) список вариантов, когда вам придётся объявлять делегат:

  • Когда список аргументов чересчур длинный (для .NET 4+ более 16 аргументов, для .NET 3.5 больше 4 аргументов)
  • Когда ваши аргументы содержат refout или params.
  • Если ваш делегат рекурсивен (например delegate D D(D d)). Как ни странно, такие штуки иногда нужны.
  • Если вы хотите дать «говорящие» имена аргументам вашего делегата (аргументы Action/Func называются arg1arg2 и т. д.).


Добавлю. Еще свои делегаты нужны, когда есть параметры с совпадающими типами, но разным значением. Потому что очень сложно понять, что же такое вообще делает делегат Func<MyClass, MyClass, object> :)  31 янв '16 в 11:27


Комментариев нет:

Отправить комментарий

Паттерн 'Репозиторий' в ASP.NET

  Последнее обновление: 1.11.2015         Одним из наиболее часто используемых паттернов при работе с данными является паттерн 'Репозито...