C# 編譯器支援 XML 文件註解,輸出結構化 XML 而非直接產生 HTML,提供更高彈性,可搭配 XSLT 轉換為各種格式。
使用 /// 開頭,支援預定義與自訂標籤:
| 標籤 | 用途 |
|---|---|
<summary> | 型別或成員的一般描述 |
<param name="..."> | 描述參數 |
<returns> | 描述傳回值 |
<exception> | 指定可能拋出的例外類別 |
<example> | 使用範例 |
<remarks> | 補充說明 |
<see> / <seealso> | 交叉參考連結 |
<c> / <code> | 標記程式碼片段 |
<list> | 插入列表 |
<para> | 插入段落 |
<value> | 描述屬性 |
<permission> | 存取權限說明 |
<include> | 引用外部 XML 註解 |
using System;
namespace HelloWorld {
/// <summary>
/// Sample Hello World in C#
/// </summary>
public class HelloWorld {
/// <summary>
/// Console Application Entry Point
/// </summary>
/// <param name="args">Command Line Arguments</param>
/// <returns>Status code of 0 on successful run</returns>
public static int Main(string[] args) {
System.Console.WriteLine("HelloWorld");
string name = System.Console.ReadLine();
return 0;
}
}
}
csc /doc:HelloWorld.XML helloworld.cs
產生結構化 XML,包含組件名稱與成員資訊:
<?xml version="1.0"?>
<doc>
<assembly><name>XMLComment</name></assembly>
<members>
<member name="T:HelloWorld.HelloWorld"><summary>Sample Hello World in C#</summary></member>
<member name="M:HelloWorld.HelloWorld.Main(System.String[])">
<summary>Console Application Entry Point</summary>
<param name="args">Command Line Arguments</param>
<returns>Status code of 0 on successful run</returns>
</member>
</members>
</doc>
可編寫 XSLT 樣式表轉換,或使用 Visual Studio 工具 → 產生註解網頁 功能快速產生格式化 HTML 文件。