использовать Func <> (или Action <>) или создать собственный делегат?

Какой из них лучше, скажем, по типу параметра в методе (не связан с LINQ). Судя по всему, Func лучше, поскольку он проще, нагляднее, и если все будут его использовать, все станет совместимым (хорошо). Однако я заметил, что Microsoft использует собственный делегат в некоторых библиотеках, например, в обработчиках событий. Итак, каковы преимущества и недостатки каждого из них? когда мне его использовать?

Правки:

  • Очевидно, Func был доступен только в версии 3.5, так что это может быть основной причиной того, что я видел не-Func делегатов. Есть ли еще причина не использовать Func? (пример: это из .NET4)

  • Тот же вопрос также относится к Action

12
задан Louis Rhys 16 December 2010 в 08:05
поделиться