描述:
在C#源码中有这样的注释(代码一):
/// <include file='XXX.docs.xml' path='doc/AAA/*'/> public object[] ReadFile(string fileName) { using (StreamReader fs = new StreamReader(fileName, mEncoding, true)) { object[] tempRes; tempRes = ReadStream(fs); fs.Close(); return tempRes; } }
在'XXX.docs.xml'这个文件中可以找到这个方法的注释(代码二):
<AAA> <summary> Read a file and return an array of the contained records. </summary> <remarks> This method open, read and close the file (don't open or close the file before or after to call this method) </remarks> <include file='Examples.xml' path='doc/examples/ReadFile/*'/> <param name="fileName">The file path to be read.</param> <returns>An array of the records in the file</returns> </AAA>
问题:
在VS中打开源码时,看到的只是代码一,看到的只是注释的一个路径而已,如果想要看注释,必须打开'XXX.docs.xml'这个文件才可以检索到。这样做很麻烦的。微软为什么要这样设计,以及如何解决这样的不方便。大家发表发表意见。
PS:
可以看到在注释文件'XXX.docs.xml'中又引用了'Examples.xml'文件,这样层层引用怎能方便程序员在开发时对代码的理解呢。这样就失去了注释的意义了。也许这样做可能方便后面制作文档说明。
在vs的方法上部连续输入三撇,然后写注释内容
/// <summary>
/// 注释内容
/// </summary>
/// <param name="fileName">参数说明</param>
/// <returns></returns>
public object[] ReadFile(string fileName)
{
using (StreamReader fs = new StreamReader(fileName, mEncoding, true))
{
object[] tempRes;
tempRes = ReadStream(fs);
fs.Close();
return tempRes;
}
}
问题是源码不是自己写的,在这个源码中大部分地方都是用的这种方式来写注释。那么有要读懂这个源码注释就很重要了。这个情况下总不能一个一个的到xml中查看吧
如果你能改(代码一)那你就把你用过、用到的注释都复制过来,如果不能改那看看别人有没有办法。
@myselfnow: 整个工程中的代码相当的多,一个一个改没效率啊
写个属性,让每个方法自动加载注释
不知道有没有自动的设置方法。微软这么设置的功能是什么?源码的作者为什么又要这样做呢?
@niaomingjian: 貌似好像没有