Це залежить від кількох речей.
Якщо делегат буде використовуватися як подія, його завжди слід називати 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);
Цей синтаксис найкращий, коли делегат використовується як закриття . Сам делегат має не надто цікаве ім'я, але аргументом є іменник агента (екстрактор, постачальник, оцінювач, селектор тощо)
Більшість звичаїв делегатів входять до однієї з вищезазначених категорій, тому з’ясуйте, для якої з них він використовується, щоб вибрати його належним чином.