如何在C#代码中自动生成这些XML注释?

时间:2015-08-27 12:31:20

标签: c# .net visual-studio

当我查看代码隐藏时,我看到每个属性和类名称都有很多/// xml注释,但这些注释是如何生成的?

自动?通过第三方?我不认为我的前同事正为每个财产和班级打字/// ....

生成的自动方式(工具/短信/其他)是什么?

public interface IRepository<TEntity> where TEntity : class
{
    /// <summary>
    /// Gets the list of items from the repository
    /// </summary>
    /// <returns></returns>
    IEnumerable<TEntity> Get();

    /// <summary>
    /// Gets the single entity from the repository
    /// </summary>
    /// <param name="id">Id of the entity</param>
    /// <returns></returns>
    TEntity Get(Int32 id);

    /// <summary>
    /// Adds an entity to the repository
    /// </summary>
    /// <param name="entity"></param>
    /// <returns></returns>
    TEntity Add(TEntity entity);

    /// <summary>
    /// Updates an entity in the repository
    /// </summary>
    /// <param name="entity"></param>
    /// <returns></returns>
    Int32 Update(TEntity entity);
}

3 个答案:

答案 0 :(得分:2)

如果在Visual Studio中的任何属性/类/方法声明上方的行上键入/三次,它将生成这些片段。

智能感知和其他第三方工具使用它们为项目生成文档。

答案 1 :(得分:2)

GhostDoc将有助于您自动生成XmlComment。

如果你想手动操作,那么当你在任何属性,方法,构造函数,类或接口上面键入/ 3次(///)然后用空摘要,参数和返回值自动生成相关注释必须编写自己的实现定义/描述。这些注释用于Intellisense

工作原理:

如果我有以下带有XML注释的构造函数:

/// <summary>
/// The constructor sets the name, age and cash
/// </summary>
/// <param name="name">The name of the guy</param>
/// <param name="cash">The amount of cash the guy starts with</param>
public Guy(string name, int age, int cash) {
     //This is constructor implementation with XML Comments
}

然后,当您初始化或使用此构造函数时,intellisense将显示此XML注释,如下图所示

enter image description here

enter image description here

答案 2 :(得分:0)

当您在visual studio中的方法/类/属性上方键入///时,它将自动生成一个结构,其中包括参数和项目的返回值(如果适用)。这篇MSDN文章here进一步详述。