我正在访问一些旧代码,并且有很多事件是手动声明的,而不是使用 EventHandler<T>,如下所示:
/// <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 注释。我想尝试解决这个问题,但我想做的是:
- 让沙堡忽略自动生成的私有字段,而不告诉它完全忽略所有私有字段
或者
- 获取为私有字段生成的 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;
}
}