当方法的目的是计算一个值并将其返回时,我发现自己将其记录如下:
/// <summary>
/// Calculates the widget count.
/// </summary>
/// <param name="control">The control to calculate the widget count of.</param>
/// <returns>The widget count.</returns>
Run Code Online (Sandbox Code Playgroud)
这里的returns标签没有提供任何新的信息:它只是重复了什么summary.(唯一的例外是返回的方法bool,在那里可以很容易地解释一下什么是true和false返回值的意思.)
我错过了什么吗?是否有标准的XML文档块措辞方法,以避免summary和returns标签之间的重复?
我需要将XML文档从基类传播到衍生物或从接口传播到实现.
我可以使用Resharper吗?
我继承了一堆C#代码.对于几个方法定义,我发现///<exclude/>它是前面唯一的XMLDoc.我试图谷歌的意思,但没有成功.有人可以解释一下这可能意味着什么吗?
好奇的问题.我正在使用Microsoft的Sandcastle从我的C#代码中的XML注释生成文档.我的几个类正在实现已经有注释方法的接口.我宁愿不在接口方法和公共实现方法中复制文档.是否有某种标签我可以用来从界面"继承"这个文档?
我想在我自己的文档中的这个MSDN页面的备注部分中实现与黄色'注意:'框类似的东西.
我正在使用sandcastle和sandcastle帮助文件构建器从文档标签生成参考网站.为了获得这样的便签盒,我需要写些什么?
在Visual Studio中,如何将默认的XML摘要注释片段从三行更改为一行?
目前,当我输入时,它会提供以下代码段///:
/// <summary>
///
/// </summary>
Run Code Online (Sandbox Code Playgroud)
我想要这个更短的片段:
///<summary></summary>
Run Code Online (Sandbox Code Playgroud)
我的摘要通常很简短,额外的2行是不必要的.
是否有此配置设置或某些可自定义的代码/自定义插件来解决此问题.
假设我有一个方法如下:
/// <summary>
/// Here I want to reference the parameter <see cref="personId"/>.
/// </summary>
/// <param name="personId">
/// The person id.
/// </param>
/// <returns>
/// The <see cref="Person"/>.
/// </returns>
public Person GetPerson(int personId)
{
}
Run Code Online (Sandbox Code Playgroud)
当我使用sandcastle发布我的xml文档时,cref:
<see cref="personId"/>
Run Code Online (Sandbox Code Playgroud)
转换为[!:personId].
Sandcastle的警告是:
'未知参考链接目标'
有什么建议?谢谢.
当我在Visual Studio 2015 Community Edition中使用<para></para>文档中的标记(也以同样的形式<para />)时,我在IntelliSense工具提示中显示了一个额外的空白行(在输入成员名称时出现的那一行).
我尝试了很多变体,包括但不限于以下示例中列出的变体:
public interface IFooBar {
///<summary>foo<para>bar</para><para>baz</para></summary>
void Foo();
///<summary>foo
///<para>bar</para>
///<para>baz</para>
///</summary>
void Bar();
///<summary>foo<para />bar<para />baz</summary>
void Baz();
///<summary>foo<para />
///bar
///<para />baz
///</summary>
void Qux();
}
Run Code Online (Sandbox Code Playgroud)
但它仍然出现,这是令人愤怒的.如果有人知道如何摆脱它,请帮助我.
问题不在于在XML注释中获取新行,我知道如何获取.它是关于在使用标签时删除额外的新行<para />.
我想在<see cref="..." /> XML文档标记中引用一个运算符,但我似乎无法找到有关如何执行此操作的任何提示.此标记上的MSDN文章仅显示引用方法的简单示例,但不介绍可以引用的不同类型的成员.
特别是,我想引用一个隐式转换运算符,但是也可以理解引用运算符的一般规则.
比方说,我们有一个简单的结构,我们将其定义==,!=并且隐式转换操作符:
public struct MyStructure
{
public int Value { get; set; }
public static bool operator ==(MyStructure x, MyStructure y) => x.Value == y.Value;
public static bool operator !=(MyStructure x, MyStructure y) => x.Value != y.Value;
public static implicit operator MyStructure(int i) => new MyStructure { Value = i };
}
Run Code Online (Sandbox Code Playgroud)
只需足够的人可以引用该Value属性<see cref="MyStructure.Value" />,但如何引用==运算符?我显然试图<see cref="MyStructure.==" />和 …
我想知道这些XML引用是如何工作的,我只是不知道它们为什么工作或为什么它们不起作用而我没有发现任何相关信息.
这是一个例子:
type
TOuterClass= class
strict private
type
TLogger = class
public
/// <summary>adds a log entry</summary>
/// <param name="Msg">text to log</param>
procedure Log(const Msg: string);
end;
strict private
FLogger: TLogger;
public
/// <summary>adds a log entry</summary>
/// <param name="Msg">text to log</param>
/// <remarks>just calls <see cref="TOuterClass.TLogger.Log" />
/// </remarks>
procedure Log(const Msg: string);
property Logger: TLogger read FLogger;
end;
Run Code Online (Sandbox Code Playgroud)
TOuterClass.Log注释中的链接不起作用.Delphi XE5只是考虑它然后放弃了.
另一个很简单的例子:
Unit MyUnit
type
/// <summary>MyType Comment</summary>
TMyType = reference to procedure;
/// <param name="MyTypeParam"><see cref="MyUnit.TMyType" /></param>
procedure …Run Code Online (Sandbox Code Playgroud)