C#的XML两种代码注释实例说明
- 作者: 唔乃长衫造纸农
- 来源: 51数据库
- 2021-08-12
在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自带的提示工具查看该类或该方法的简要:

推荐阅读
- C#通过fleck实现wss协议的WebSocket多人Web实时聊天(附源码)
- 团队城市未满足要求:MSBuildTools12.0_x86_Path 存在
- 使用 MSBuild.exe 在发布模式下构建 C# 解决方案
- 当我发布 Web 应用程序时,AfterPublish 脚本不运行
- 构建时 T4 转换的产品仅在下一个构建中使用
- ASP.NET Core Application (.NET Framework) for Windows x64 only error in project.assets.json
- 新的 .csproj 格式 - 如何将整个目录指定为“链接文件"到子目录?
- 如何将条件编译符号(DefineConstants)传递给 msbuild
- MSBuild 支持 Visual Studio 2017 RTM 中的 T4 模板
- NuGet 包还原找不到包,没有源
热点文章
团队城市未满足要求:MSBuildTools12.0_x86_Path 存在
0
使用 MSBuild.exe 在发布模式下构建 C# 解决方案
0
当我发布 Web 应用程序时,AfterPublish 脚本不运行
0
构建时 T4 转换的产品仅在下一个构建中使用
0
ASP.NET Core Application (.NET Framework) for Windows x64 only error in project.assets.json
0
新的 .csproj 格式 - 如何将整个目录指定为“链接文件"到子目录?
0
如何将条件编译符号(DefineConstants)传递给 msbuild
0
MSBuild 支持 Visual Studio 2017 RTM 中的 T4 模板
0
NuGet 包还原找不到包,没有源
0
使用 C# 6.0 功能运行 TFS 构建
0
