Это зависит от нескольких вещей.
Если делегат будет использоваться в качестве события, он должен всегда именоваться подтипом EventHandler
, например:
public delegate void ValueExtractingEventHandler(object sender,
ValueExtractingEventArgs e);
Если это не событие, то в руководствах по кодированию MS (которые я никогда не смогу найти нужную копию в Google) явно рекомендуется против , включая такие слова, как «делегат» или «обработчик» в имя делегата, , за исключением в особом случае EventHandler
типов.
Обычно делегаты должны быть названы в честь действий , что будет похоже на ValueExtracting
(если делегат происходит до извлечения значения) или ValueExtracted
(после извлечения).
Синтаксис делегата Func<T1, T2, ..., TResult>
также становится все более распространенным, но если в него не входит 4 или более параметров, вам вообще не нужно объявлять свой собственный - просто используйте существующий:
object ExtractObject(object source, Func<object, object> extractor);
Этот синтаксис лучше всего подходит, когда делегат используется как замыкание . Сам делегат не имеет очень интересного имени, но аргументом является существительное агента (экстрактор, поставщик, оценщик, селектор и т. Д.)
Большинство видов использования делегатов подпадают под одну из вышеуказанных категорий, поэтому определите, какую из них использовать, чтобы выбрать их соответствующим образом.