• 标准请看帮助文件里的:XML Documentation Comments

  • 个人常用
    1. <summary></summary>:摘要
      1. /// <summary>
        /// 这是摘要
        /// </summary>
    2. <remarks></remarks>:描述
      1. /// <remarks>
        /// 这是描述
        /// </remarks>
    3. <returns></returns>:返回
      1. /// <returns>返回值</returns>
    4. <param name=""></param>:参数的名称和描述
      1. /// <param name="变量名">类型</param>
    5. <see cref=""/>:形成类似超链接的效果,字下面有横线,但点了后不会跳转
      1. /// <see cref="System.Classes.TPersistentClass"/>
    6. <para></para>:新段落
      1. ///  aa<para>bb</para>cc
    7. <c></c>:用了这个后,英文看起来字体小了一号
      1. ///  MyName1 <c>MyName2</c> MyName3
    8. <code></code>:代码段,效果有点像 <para><c></c></para>
      1. /// MyName1<code>MyName2</code>MyName3

  • 网上抄录的

XML注释分为一级注释(Primary Tags)和二级注释(Secondary Tags),前者可以单独存在,后者必须包含在一级注释内部。

    1. 一级注释
      1. <remarks>对类型进行描述,功能类似<summary>,据说建议使用<remarks>
      2. <summary>对共有类型的类、方法、属性或字段进行注释
      3. <value>主要用于属性的注释,表示属性的制的含义,可以配合<summary>使用
      4. <param>用于对方法的参数进行说明,格式:<param name="param_name">value</param>
      5. <returns>用于定义方法的返回值,对于一个方法,输入///后,会自动添加<summary>、<param>列表和<returns>
      6. <exception>定义可能抛出的异常,格式:<exception cref="IDNotFoundException">
      7. <example>用于给出如何使用某个方法、属性或者字段的使用方法
      8. <permission>涉及方法的访问许可
      9. <seealso>用于参考某个其它的东东:),也可以通过cref设置属性
      10. <include>用于指示外部的XML注释
    2. 二级注释
      1. <c> or <code>主要用于加入代码段
      2. <para>的作用类似HTML中的<p>标记符,就是分段
      3. <pararef>用于引用某个参数
      4. <see>的作用类似<seealso>,可以指示其它的方法
      5. <list>用于生成一个列表

  • XML中需要的转义字符
    1. &(逻辑与)  &amp;
    2. <(小于)    &lt;
    3. >(大于)    &gt;
    4. "(双引号)  &quot;
    5. '(单引号)  &apos;

  • 需要注意的是
    1. 转义序列各字符间不能有空格
    2. 转义序列必须以";"结束
    3. 单独的&不被认为是转义开始
    4. 区分大小写

/// <summary>
/// 对象池 ( 支持模板 )
/// </summary>
/// <remarks>
/// 这是一个对像池, 可以池化所有 TObject 对像 ( 支持模板 )
/// <code>
/// 用法:
/// <para>在一个全局的地方定义: </para>
/// <para>var</para>
/// <para> Pooler: TObjPool&lt;要收集的类名&gt;</para>
/// </code>
/// <code>
/// <para>用到的地方: </para>
/// <para>tmpObj := Pooler.LockObj as Txxx;</para>
/// <para>if Assigned(tmpObj) then</para>
/// <para>try</para>
/// <para>finally</para>
/// <para> Pooler.UnlockObj(tmpObj);</para>
/// <para>end;</para>
/// </code>
/// <code>
/// <para>初始化: </para>
/// <para>initialization</para>
/// <para> Pooler := TObjPool&lt;要收集的类名&gt;(对象池最大值, 对象池最小值).Create;</para>
/// <para>finallization</para>
/// <para> Pooler.Free;</para>
/// </code>
/// </remarks>

Delphi新注释的更多相关文章

  1. delphi 属性 参数 新注释

    delphi 属性 参数 新注释,在写代码的时候,可以自动看到属性.参数的的备注说明,太方便了. Tmyclass=class /// <summary> /// 姓名 /// </ ...

  2. DELPHI新的变量的声明方法

    DELPHI新的变量的声明方法 从DELPHI 10.3.1开始支持新的变量声明方法: procedure TForm1.查询1Click(Sender: TObject); begin var ur ...

  3. 转(Delphi 新窑洞):使用delphi 开发多层应用(十七)使用RTC web 服务器返回JSON

    RTC作为delphi 的最专业的web 应用服务器,如果客户端要使用JSON 的话,那么使用RTC 应该也是一种 非常好的选择.下面我们做一个使用RTC web 服务器返回数据库JSON 的例子. ...

  4. Delphi新语法和ifthen的扩展联想

    Delphi之前已经重载了好多个ifthen函数 Math单元 ): Integer; overload; inline; ): Int64; overload; inline; ): UInt64; ...

  5. delphi新语法之泛型实现的对象池模板

    现在的DELPHI因为支持泛型的语法,所以也能支持模板编程了.   // 标准模板 unit UntPools;   interface   uses   Classes, SysUtils, Unt ...

  6. Delphi新语法 For ..In

    首先我们要知道哪些类型可以用For In吧,下面就是: for Element in ArrayExpr do Stmt;      数组 for Element in StringExpr do S ...

  7. Delphi新语法

    http://www.cnblogs.com/hnxxcxg/category/456344.html

  8. 谁说delphi没有IOCP库,delphi新的IOCP类库,开源中: DIOCP组件JSON流模块说明

    单元:JSonStream.pas 简介:本单元实现 流和json对象的相互转换,其中有一些保留的key. 依赖:superobject 保留key: __result.errCode  返回的错误编 ...

  9. 谁说delphi没有IOCP库,delphi新的IOCP类库,开源中

    DIOCP Demo说明 下载地址 https://code.google.com/p/diocp/ 特地为DIOCP开设了一个群:320641073,欢迎学习的IOCP的童鞋进入讨论. 核心作者:  ...

随机推荐

  1. BZOJ2283: [Sdoi2011]火星移民

    Description 在2xyz年,人类已经移民到了火星上.由于工业的需要,人们开始在火星上采矿.火星的矿区是一个边长为N的正六边形,为了方便规划,整个矿区被分为6*N*N个正三角形的区域(如图1) ...

  2. Spring--quartz中cronExpression配置说明

    Spring--quartz中cronExpression Java代码   字段      允许值         允许的特殊字符 秒       0-59        , - * / 分     ...

  3. Bootstrap指定表格字段宽度

    默认情况下,表格会占据屏幕所有宽度,可以使用bootstrap的布局功能.但表格标题字段的宽度必须与相应字段内容的宽度一致. <div class="container"&g ...

  4. C++中class在实例化前到底占用多少空间

    最近忽然想起一个问题,C++中class在实例化前到底占用多少空间?我隐约记得书上是这么说的“类在实例化时才分配空间”!但是当我写下这个小程序的时候,杯具产生了—— #include<iostr ...

  5. (转)IE内存泄露,iframe内存泄露造成的原因和解决方案

    http://my.oschina.net/jsan/blog/11169 http://blog.csdn.net/tianma630/article/details/8502395 jQuery ...

  6. 【插件开发】—— 12 GEF入门

    介绍 前面也简单的介绍了一下插件开发的相关知识,下面主要就介绍一下GEF的相关使用.由于最近使用到编辑器这部分的操作,因此就跳过其他的内容,先介绍下GEF的相关知识. 前文回顾 1 插件学习篇 2 简 ...

  7. SPOJ GSS3 线段树系列1

    SPOJ GSS系列真是有毒啊! 立志刷完,把线段树搞完! 来自lydrainbowcat线段树上的一道例题.(所以解法参考了lyd老师) 题意翻译 n 个数, q 次操作 操作0 x y把 Ax 修 ...

  8. CoreText的绘制流程-转

    来自:http://blog.sina.com.cn/s/blog_7c8dc2d50101lbb1.html 使用coreText进行文本绘制,需要在工程中添加CoreText.framework, ...

  9. Plugging an Unplugged Pluggable Database issue 3

    Multitenant Unplug/Plug Best Practices (文档 ID 1935365.1) 1.source 从0419 升级到1019 ,但是datapatch 没有回退041 ...

  10. 有关LD_LIBRARY_PATH与ld.so.conf

    我之前写过一篇关于LD_LIBRARY_PATH与gcc/g++ -L的关系的文章,于是我自己用CPACK制作了一个Debian安装包,然后我在/home/.bashrc里添加了export LD_L ...