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 ;
- }
<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;
- }
参考文档
- https://msdn.microsoft.com/zh-cn/library/te6h7cxs%28v=vs.110%29.aspx
- https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/language-specification/documentation-comments
C#中的XML文档注释-推荐的文档注释标记的更多相关文章
- 使用.NET中的XML注释(二) -- 创建帮助文档入门篇
一.摘要 在本系列的第一篇文章介绍了.NET中XML注释的用途, 本篇文章将讲解如何使用XML注释生成与MSDN一样的帮助文件.主要介绍NDoc的继承者:SandCastle. 二.背景 要生成帮助文 ...
- 突发奇想之:源码及文档,文档包括源码---xml格式的源码,文档源码合并;注释文档化,文档代码化;
目前源码和文档一般都是分开的,我在想为什么 源码不就是最好的文档么? 但是一般源码都是文本text的,格式化需要人为统一规范,所以源码中的文档在现实中不是那么的易于实践. 而且 源码 不能包括图片.附 ...
- DOM和SAX是应用中操纵XML文档的差别
查看原文:http://www.ibloger.net/article/205.html DOM和SAX是应用中操纵XML文档的两种主要API.它们分别解释例如以下: DOM.即Do ...
- 使用.NET中的XML注释(一) -- XML注释标签讲解
一.摘要 .Net允许开发人员在源代码中插入XML注释,这在多人协作开发的时候显得特别有用. C#解析器可以把代码文件中的这些XML标记提取出来,并作进一步的处理为外部文档. 这篇文章将展示如何使用这 ...
- .Net魔法堂:提取注释生成API文档
一.前言 在多人协作的项目中,除了良好的代码规范外,完整的API文档也相当重要.通过文档我们快速了解系统各模块的实际接口,及其使用场景.使用示例,一定程度上降低沟通成本,和减少后期维护中知识遗失等风险 ...
- .net 提取注释生成API文档 帮助文档
提取注释生成API文档 一.前言 在多人协作的项目中,除了良好的代码规范外,完整的API文档也相当重要.通过文档我们快速了解系统各模块的实际接口,及其使用场景.使用示例,一定程度上降低沟通成本,和 ...
- xml基础之二(XML结构【2】)DTD文档模版
xml基础之二(XML结构[2])DTD文档模版 xml 模板 文档结构 我们知道XML主要用于数据的存储和传输,所以无论是自定义还是外部引用DTD模板文档,都是为了突出数据的存储规范.DTD(文档 ...
- 注释生成Api文档
1.开发背景 最近一直在写dubbo接口,以前总是用word文档写接口描述然后发给别人.现在太多了,而且跟别人对接联调的人家急着用,根本没时间去写word文档.那就想想怎么用doc文档注释自动生成接口 ...
- 使用sphinx快速为你python注释生成API文档
sphinx简介sphinx是一种基于Python的文档工具,它可以令人轻松的撰写出清晰且优美的文档,由Georg Brandl在BSD许可证下开发.新版的Python3文档就是由sphinx生成的, ...
随机推荐
- 使用svg的几种方式
<!-- 图片,背景,框架引入svg文件 --> <img src="test.svg" alt=""> <?xml versio ...
- 解决系统存在大量TIME_WAIT状态的连接
系统存在大量TIME_WAIT状态的连接,通过调整内核参数解决, vi /etc/sysctl.conf 编辑文件,加入以下内容:net.ipv4.tcp_syncookies = 1net.ipv4 ...
- kubectl工具管理应用生命周期
######kubectl管理工具###### [root@k8s-master dashboard]# kubectl get pod NAME READY STATUS RESTARTS AGE ...
- 【bzoj1232】[Usaco2008Nov]安慰奶牛cheer
问题描述 Farmer John变得非常懒,他不想再继续维护供奶牛之间供通行的道路.道路被用来连接N个牧场,牧场被连续地编号为1到N.每一个牧场都是一个奶牛的家.FJ计划除去P条道路中尽可能多的道路, ...
- 【Lintcode】036.Reverse Linked List II
题目: Reverse a linked list from position m to n. Given m, n satisfy the following condition: 1 ≤ m ≤ ...
- ESFramework Demo -- P2P通信Demo(附源码)
现在我们将在ESFramework Demo -- 文件传送Demo 的基础上,使用ESPlus提供的第四个武器,为其增加P2P通信的功能.在阅读本文之前,请务必先掌握ESFramework 开发手册 ...
- JAVA操作cassandra数据库
如果是maven项目,在pom.xml里加入依赖.不是的话下载相应的jar包放到lib目录下.这里驱动包的版本要和你cassandra的大版本一致.我这里cassandra的版本是最新的3.9,驱动是 ...
- object类型转换为Array类型
var obj = {a: 1, b: 2, c: 3}; // .... var arr = []; for(var key in obj){ if(!obj.hasOwnProperty(key) ...
- 微信接口出现“调用支付jsapi缺少参数appid”
微信接口出现“调用支付jsapi缺少参数appid” 注意:@Html.Raw(ViewBag.wxJsApiParam),//json串ViewBag.wxJsApiParam是一个在后台拼的一个j ...
- js 常用验证
邮箱验证: $(function () { $("#txt_Email").blur(function () { var ema ...