有一个关于C#编译器生成文档的问题。
源代码:
public class SomeClass {
/// <summary>
/// Do some work
/// </summary>
/// <returns cref="Nullable{Boolean}">
/// Some stuff
/// </returns>
public bool? SomeMethod() {
return false;
}
}
编译器为方法SomeMethod生成XML文档片段:
<member name="...." >
....
<returns cref="T:System.Nullable`1">SomeStuff</returns>
</member>
有没有办法强制它产生
<member name="...." >
....
<returns cref="T:System.Nullable{System.Boolean}">SomeStuff</returns>
</member>
代替。?
答案 0 :(得分:2)
不幸的是没有。
无法更改.xml文件的生成方式。
相反,您必须更改处理这些文件以处理该语法的任何内容,或更改XML文档。
这里的问题是Nullable{Boolean}
与Nullable{T}
没有区别,因为括号之间的部分不是理解为类型,而是作为泛型类型参数。 T
,Boolean
,XYZ
,这都是一回事。
您将不得不更改读取此内容的工具(我不知道您将如何做到这一点),或以不同方式写出您的参考文献:
/// <returns>
/// <see cref="Nullable{T}/> with <c>T</c> being <see cref="Boolean"/>.
/// </returns>
答案 1 :(得分:1)
如何使用
Nullable<bool>
答案 2 :(得分:0)
我使用这种语法:
int
这意味着类型参考不是100%准确,但文档工具提示预览的突出显示与签名预览的外观相同(有色?
,无色{{ 1}})。