C#中的XML文档注释-推荐的文档注释标记

文档注释是为了方便自己和他人更好地理解代码所实现的功能。下面记录了一些常用的文档注释标记:

<C>

用法: <c>text</c>

将说明中的文本标记为代码。例如:

/// <summary>
/// Validates the user.
/// </summary>
/// <param name="username">The username.</param>
/// <param name="password">The password.</param>
/// <returns>///   <c>true</c>, if username and password are equal.
/// </returns>
public bool ValidateUser(string username, string password)
{
    var userId = GetUserIdIfValid(username, password);
    return userId.HasValue && userId.Value != Guid.Empty;
}

<code>

用法: <code>content</code>

将多行文本标记为代码。

<see>

用法: <see cref="member"/>

用于从文本中指定链接。例如:

/// <summary>
/// Initializes a new instance of the <see cref="DefaultAuthenticationService" /> class.
/// </summary>
/// <param name="repository">The repository.</param>
public DefaultAuthenticationService(IRepository repository)
{
    this.repository = repository;
}

<example>

用法: <example>description</example>

用于指定使用方法或其他库成员的示例。例如:

/// <summary>
/// The GetZero method.
/// </summary>
/// <example>
/// This sample shows how to call the <see cref="GetZero"/> method.
/// <code>
/// class TestClass
/// {
///     static int Main()
///     {
///         return GetZero();
///     }
/// }
/// </code>
/// </example>
public static int GetZero()
{
    return 0;
}

<param>

用法: <param name="name">description</param>

用于描述方法的一个参数。

<paramref>

用法: <paramref name="name"/>

用于引用某个参数。例如:

/// <summary>
/// Gets a collection of membership users where the user name contains the specified user name to match.
/// </summary>
/// <param name="usernameToMatch">The user name to search for.</param>
/// <param name="pageIndex">The index of the page of results to return. <paramref name="pageIndex" /> is zero-based.</param>
/// <param name="pageSize">The size of the page of results to return.</param>
/// <param name="totalRecords">The total number of matched users.</param>
/// <returns>
/// A <see cref="T:System.Web.Security.MembershipUserCollection" /> collection that contains a page of <paramref name="pageSize" /><see cref="T:System.Web.Security.MembershipUser" /> objects beginning at the page specified by <paramref name="pageIndex" />.
/// </returns>
public IList<User> FindUsersByName(string usernameToMatch, int pageIndex, int pageSize, out int totalRecords)
{
    return GetUsers(pageIndex, pageSize, out totalRecords, u => u.UserName.Contains(usernameToMatch));
}

<returns>

用法: <returns>description</returns>

用于描述返回值。

<summary>

用法: <summary>description</summary>

用于描述类型或类型成员。

<typeparam>

用法: <typeparam name="name">description</typeparam>

用于在泛型类型或方法声明的注释中描述类型参数。例如:

/// <summary>
/// Creates a new array of arbitrary type <typeparamref name="T"/>
/// </summary>
/// <typeparam name="T">The element type of the array</typeparam>/// <param name="n"></param>/// <returns></returns>
public static T[] mkArray<T>(int n)
{
    return new T[n];
}

<typeparamref>

用法: <typeparamref name="name"/>

用于引用泛型参数。

<value> 

用法: <value>property-description</value>

用于描述属性所代表的值。 请注意,当在 Visual Studio .NET 开发环境中通过代码向导添加属性时,它将会为新属性添加 <summary>标记。 然后,应该手动添加 <value> 标记以描述该属性所表示的值。例如:

/// <summary>
/// Gets or sets the title.
/// </summary>
/// <value>
/// The title.
/// </value>
public virtual string Title { get; set; }

<exception>

用法: <exception cref="member">description</exception>

用于说明可被引发的异常。例如:

/// <summary>
/// Gets the and validates property.
/// </summary>
/// <param name="propertyName">Name of the property.</param>
/// <returns>Reflection property info object</returns>
/// <exception cref="System.InvalidOperationException">Model has no such property</exception>
private System.Reflection.PropertyInfo GetAndValidateProperty(string propertyName)
{
    var property = modelType.GetProperty(propertyName);

    if (property == null)
    {
        property = modelType.GetProperty(System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToTitleCase(propertyName));

        if (property == null)
        {
            throw new InvalidOperationException(string.Format("Property {0} doesn‘t exist in object {1}", propertyName, modelType));
        }
    }

    return property;
}

参考文档

  1. https://msdn.microsoft.com/zh-cn/library/te6h7cxs%28v=vs.110%29.aspx
时间: 2024-10-25 08:47:08

C#中的XML文档注释-推荐的文档注释标记的相关文章

C# : 操作Word文件的API - (将C# source中的xml注释转换成word文档)

这篇博客将要讨论的是关于: 如何从C#的source以及注释, 生成一份Word格式的关于各个类,函数以及成员变量的说明文档. 他的大背景如下...... 最近的一个项目使用C#, 分N个模块, 在项目的里程碑的时候, 日本的总公司要检查我们的成果物. 成果物包括源代码, 概要设计式样书(SD,System Design), 详细设计式样书(PD, Program Design), 自动化测试等等. 源代码必须要符合编码规范(每个函数都要有注释, 方法变量的命名规则等...) 这些检查都很正常,

.NET中的XML注释(一) 创建帮助文档

一.摘要 在本系列的第一篇文章介绍了.NET中XML注释的用途, 本篇文章将讲解如何使用XML注释生成与MSDN一样的帮助文件.主要介绍NDoc的继承者:SandCastle. 二.背景 要生成帮助文件,很多人会想到NDoc.其实在VS2003中不使用NDoc也一样具有"生成Web文档"的功能.然而很不幸,在升级为VS2005和VS2008后, Visual Studio中的此功能已经取消. 更遗憾的是NDoc这个项目由于资金等问题,作者Kevin于2006年7月宣布不再投入NDoc开

Java中的注释和嵌入式文档

摘自Think in java 前面看到一位同事写的android程序,注释如同android源码一样,再看看自己写的,自己都都不懂的注释.所以抽空看了Think in java里面注释和嵌入式文档的章节,并做一个简单的总结备忘. Java中的注释分为两种,// /* */ 嵌入式文档使用了一种特殊的注释语法,通过javadoc工具(javadoc工具为jdk安装的一部分)生成HTML文档,可以使用web浏览器来查看. 语法: 所有的javadoc命令都只在/** 后的注释中才会生效. 嵌入式文

突发奇想之:源码及文档,文档包括源码---xml格式的源码,文档源码合并;注释文档化,文档代码化;

目前源码和文档一般都是分开的,我在想为什么 源码不就是最好的文档么? 但是一般源码都是文本text的,格式化需要人为统一规范,所以源码中的文档在现实中不是那么的易于实践. 而且 源码 不能包括图片.附件.示例代码等资源,这个又是一个难点. 后来我突发奇想,为什么不能把xml作为一种合二为一的文档呢? xml可被IDE识别,解析其中 包括 <code lang=cpp> 的标签中的文本为 代码.编译也使用这部分. 其他的标签 全部都是文档.而且可以在code 代码中 再分割,添加文档部分. 而文

DOM和SAX是应用中操纵XML文档的区别

DOM和SAX是应用中操纵XML文档的两种主要API,它们分别解释如下: DOM,即Document Object Model,中文叫文档对象模型.DOM是W3C定义的标准文档对象模型,是一个与操作系统和编程语言无关的.用于内存存储和操作层次化文档的模型.当按 照DOM模型解析XML文档时,就会在内存中构造一个对应的DOM树,它可以用于不同 节点之间的遍历.然而,在遍历之前必须先完成DOM树的构造.因此, 在处理规模较大的XML文档时就很耗内存,占用资源较多.尤其是只需要操作文档中一小部分时效率

.NET中的XML注释(一) 标签讲解

一.摘要 .Net允许开发人员在源代码中插入XML注释,这在多人协作开发的时候显得特别有用. C#解析器可以把代码文件中的这些XML标记提取出来,并作进一步的处理为外部文档. 这篇文章将展示如何使用这些XML注释. 在项目开发中,很多人并不乐意写繁杂的文档.但是,开发组长希望代码注释尽可能详细:项目规划人员希望代码设计文档尽可能详尽:测试.检查人员希望功能说明书尽可能详细等等.如果这些文档都被要求写的话,保持它们同步比进行一个战役还痛苦. 为何不把这些信息保存在一个地方呢??最明显想到的地方就是

PHPDoc PHP注释的标准文档(翻译自Wiki)

文档注释,无非"//"和"/**/"两种 ,自己写代码,就那么点,适当写几句就好了:但是一个人总有融入团队的一天,团队的交流不是那几句注释和一张嘴能解决的,还需要通用的注释标准. PHPDoc是PHP文档注释的一个标准,可以帮助我们在注释文档时有规范,查看别人的代码时更方便.下面的表格是我翻译的WIKI上的PHPDoc,个人英文水平有限,可以参照原文. 文档翻译自:http://en.wikipedia.org/wiki/Phpdoc 标记 用途 描述 @abstr

ASP.NET Web API从注释生成帮助文档

ASP.NET Web API从注释生成帮助文档 默认情况下,ASP.NET Web API不从Controller的注释中生成帮助文档.如果要将注释作为Web API帮助文档的一部分,比如在帮助文档的Description栏目中显示方法注释中的summary,需要进行一些配置操作. 首先在Visual Studio中打开Web API项目的属性页,在Build设置页,选中XML document file,输入将要生成的XML文件放置的路径,比如:App_Data\OpenAPI.XML. 1

给 Web 开发人员推荐的文档生成工具——爱创课堂

工欲善其事必先利其器,在此给给 Web 开发人员推荐几款优秀的开源文档生成工具,希望能对大家有所帮助. 1.JavaScript JSDoc 3 https://www.oschina.net/p/jsdoc 这是一款根据 Javascript 文件中注释信息,生成 JavaScript 应用.库.模块的 API 文档的工具.你可以使用它记录如:命名空间.类.方法.方法参数等.该项目还衍生出了许多模板和其他工具来帮助生成和自定义文档,比如: 模板 jaguarjs-jsdoc:https://g