2010-03-16 4 views
2

Я посещающие некоторый старый код, и есть немало событий, объявленных с делегатами вручную, а не используя EventHandler <T>, как это:XML комментарии на делегат заявил события

/// <summary> 
/// Delegate for event Added 
/// </summary> 
/// <param name="index">Index of the item</param> 
/// <param name="item">The item itself</param> 
public delegate void ItemAdded(int index, T item); 

/// <summary> 
/// Added is raised whenever an item is added to the collection 
/// </summary> 
public event ItemAdded Added; 

Все хорошо, пока я не приду, чтобы использовать sandcastle для документирования библиотеки, потому что тогда он не может найти никаких комментариев XML для частного поля Добавленный, который генерируется объявлением события. Я хочу, чтобы попытаться разобраться, что, но то, что я хотел бы сделать, это либо:

  • Получить Сандкасло игнорировать автоматически сгенерированные частное поле, не говоря его игнорировать все частные поля полностью

или

  • Get XML комментарии генерироваться для частного поля

есть ли способ достижения этой цели с из рефакторинга кода, чтобы выглядеть следующим образом:

/// <summary> 
/// Delegate for event <see cref="Added"/> 
/// </summary> 
/// <param name="index">Index of the item</param> 
/// <param name="item">The item itself</param> 
public delegate void ItemAdded(int index, T item); 

/// <summary> 
/// Private storage for the event firing delegate for the <see cref="Added"/> event 
/// </summary> 
private ItemAdded _added; 

/// <summary> 
/// Added is raised whenever an item is added to the collection 
/// </summary> 
public event ItemAdded Added 
{ 
    add 
    { 
     _added += value; 
    } 
    remove 
    { 
     _added -= value; 
    } 
} 

ответ

0

Хотя неоптимальным, я нашел способ обойти это, который должен был вручную поместить комментарии XML в файл, который содержит документацию имен уровня для проекта , в этих строках:

<member name="F:myCompany.Common.Collections.Generic.EventableCollection`1.Added"> 
    <summary> 
    Auto-generated backing field for the <see cref="E:myCompany.Common.Collections.Generic.EventableSortedList`1.Added">Added</see> event 
    </summary> 
</member> 

Это то, что мне нужно.

 Смежные вопросы

  • Нет связанных вопросов^_^