我想将部分源代码添加到 XML 文档中。我可以将源代码复制并粘贴到一些 <code> 元素,如下所示:
/// <summary>
/// Says hello world in a very basic way:
/// <code>
/// System.Console.WriteLine("Hello World!");
/// System.Console.WriteLine("Press any key to exit.");
/// System.Console.ReadKey();
/// </code>
/// </summary>
static void Main()
{
System.Console.WriteLine("Hello World!");
System.Console.WriteLine("Press any key to exit.");
System.Console.ReadKey();
}
保持这种状态会很痛苦。是否有其他可能性可以将源代码添加到 C# 中的 XML 文档?
我正在使用 Sandcastle 处理 XML 文档,并希望从中制作一个技术帮助文件 (*.chm)。我想将部分或完整的方法主体添加到该帮助文件中。
编辑: 感谢 slide_rule 的评论。我添加了一个更现实、更简单的例子:
假设我有这样的方法:
public decimal CalculateFee(Bill bill)
{
if (bill.TotalSum < 5000) return 500;
else
{
if (bill.ContainsSpecialOffer) return bill.TotalSum * 0.01;
else return bill.TotalSum * 0.02;
}
}
如果有可能将如何计算费用的信息添加到技术帮助文件中,那就太好了。
最明显的解决方案是将算法作为平淡无奇的文本写到评论中,例如:“如果账单的总金额小于 5000 则......”。
另一种解决方案是将方法的主体复制并粘贴到注释字段中,然后将其放入 <code> 元素中。这个方法体可以很容易地理解,即使没有太多关于 C# 的知识——所以把它放在技术帮助文件中没有错。
这两种解决方案都违反了 DRY 原则!我想将方法体或方法体的片段添加到帮助文件中,而不重复信息。
这在 C# 中可能吗?(我认为 RDoc for Ruby 能够做到这一点,但我需要一些 C# 解决方案)