-
C#教程之C#的XML两种代码注释实例说明
在C/C++,JAVA中,有两种注释,一种是单行注释,即两根反斜杠(//),另一种是多行注释,即以/*开头,以*/结尾。
在Java中,多行注释(Multiline Comment)分为两种形式:
1.普通多行注释,比如
复制代码 代码如下:
/*
*多行注释
*/
2.Javadoc注释,比如
复制代码 代码如下:
/**
*Javadoc注释
*/
当Java源文件编译的时候,Javadoc工具会读取源文件当中的Javadoc注释内容,并生成相应的HTML文档。供开发者参阅API相关的内容。
在C#中采用了另外一种形式,即XML。
为了能够在编译过程中生成XML文档,需要一种来标记来标注注释。即三根反斜杠。
下面是一个简单的例子:
复制代码 代码如下:
namespace MyNameSpace
{
/// <summary>
/// 这是一个普通的类
/// </summary>
public class Person
{
/// <summary>
/// 这是标识的ID
/// </summary>
public string Id { get; protected set; }
/// <summary>
/// 这是姓名
/// </summary>
public string Name { get; set; }
/// <summary>
/// 这是年龄
/// </summary>
public int Age { get; set; }
/// <summary>
/// 这是构造函数
/// </summary>
/// <param name="id">ID</param>
/// <param name="name">姓名</param>
/// <param name="age">年龄</param>
public Person(string id, string name, int age)
{
this.Id = id;
this.Name = name;
this.Age = age;
}
/// <summary>
/// 介绍自己啦
/// </summary>
public void IntroduceMyself()
{
Console.WriteLine("My name is {0}, My age is {1}", Name, Age);
}
/// <summary>
/// 计算两者之和
/// </summary>
/// <param name="a">左操作数</param>
/// <param name="b">右操作数</param>
/// <returns>两者和</returns>
public int calculate(int a, int b)
{
return a + b;
}
/// <summary>
/// 讲话啦
/// </summary>
/// <param name="msg">讲的内容</param>
public void saySomething(string msg)
{
Console.WriteLine(msg);
}
}
}
编译该文件: csc /doc:test.xml test.cs
查看生成的XML文档:
复制代码 代码如下:
<?xml version="1.0"?>
<doc>
<assembly>
<name>MyNameSpace</name>
</assembly>
<members>
<member name="T:MyNameSpace.Person">
<summary>
这是一个普通的类
</summary>
</member>
<member name="M:MyNameSpace.Person.#ctor(System.String,System.String,System.Int32)">
<summary>
这是构造函数
</summary>
<param name="id">ID</param>
<param name="name">姓名</param>
<param name="age">年龄</param>
</member>
<member name="M:MyNameSpace.Person.IntroduceMyself">
<summary>
介绍自己啦
</summary>
</member>
<member name="M:MyNameSpace.Person.calculate(System.Int32,System.Int32)">
<summary>
计算两者之和
</summary>
<param name="a">左操作数</param>
<param name="b">右操作数</param>
<returns>两者和</returns>
</member>
<member name="M:MyNameSpace.Person.saySomething(System.String)">
<summary>
讲话啦
</summary>
<param name="msg">讲的内容</param>
</member>
<member name="P:MyNameSpace.Person.Id">
<summary>
这是标识的ID
</summary>
</member>
<member name="P:MyNameSpace.Person.Name">
<summary>
这是姓名
</summary>
</member>
<member name="P:MyNameSpace.Person.Age">
<summary>
这是年龄
</summary>
</member>
</members>
</doc>
如果是在VISUAL STUDIO,需在项目属性的生成选项卡中选中生成XML文件,并指定路径和文件名。
这样,当您在使用相应的类或者方法时,我们利用IDE自带的提示工具查看该类或该方法的简要:
最新更新
python爬虫及其可视化
使用python爬取豆瓣电影短评评论内容
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
uniapp/H5 获取手机桌面壁纸 (静态壁纸)
[前端] DNS解析与优化
为什么在js中需要添加addEventListener()?
JS模块化系统
js通过Object.defineProperty() 定义和控制对象
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比