我想使用{@inheritDoc}
该类从我的抽象类继承方法.在抽象类的文档中,我按名称引用了抽象类.我如何标记这个,所以当子类从超类继承文档时,它用子类的名称替换抽象类的名称?
Visual Studio 2017、ReSharper 2017、C# 项目
我试图通过使用select
属性继承方法参数的文档,但它似乎没有按预期工作。
根据这篇文章(http://tunnelvisionlabs.github.io/SHFB/docs-master/SandcastleBuilder/html/79897974-ffc9-4b84-91a5-e50c66a0221d.htm)文档可以使用select
属性进行过滤,示例之一显示它的使用方式如下:
/// <example>
/// <inheritdoc cref="MethodWithTwoExamples"
/// select="span[@id='Example 2']" />
/// </example>
Run Code Online (Sandbox Code Playgroud)
因此,以类似的方式,我尝试以这种方式过滤文档:
/// <param name="generateStream"><inheritdoc cref="MyClass.MyMethod" select="param[@name='generateStream']"/></param>
Run Code Online (Sandbox Code Playgroud)
但问题是 Visul Studio Intellisense 不显示该特定参数的文档,而是显示我试图从中继承文档的方法的第一个参数的文档。
所以我的问题是:是否可以将文档过滤到方法的特定参数?
如果我只想从父级继承所有文档,那么phpDocumentor中@inheritDoc的正确语法是什么?也许不止一种语法是正确的?
@inheritDoc
{@inheritDoc}
@inheritdoc
{@inheritdoc}
我认为文档很模糊.PhpStorm似乎支持所有这些,但也许我会在使用一些语法生成文档时遇到麻烦?
覆盖另一个方法的方法不会继承它覆盖的方法的文档.有没有办法明确告诉它继承文档?
/**
* {@inheritDoc}
*
* This implementation uses a dynamic programming approach.
*/
@Override
public int[] a(int b) {
return null;
}
Run Code Online (Sandbox Code Playgroud) When I'm writing functions for my project, and more specifically, their XML documentation comments, I find myself repeating the comments for a specific parameter often. This leads to misleading documentation sometimes (as copy pasting usually does...).
This is a simple example I thought of, which represents the real problem.
/// <summary>
/// The number that should be doubled
/// </summary>
private static float myNumber = 10f;
/// <summary>
/// Multiplies a number by 2
/// </summary>
/// <param name="number"><inheritdoc cref="myNumber"/></param> …
Run Code Online (Sandbox Code Playgroud) 当我在Eclipse中使用{@inheritDoc}时,超类的javadoc注释没有出现在我的类的javadoc中.
我有以下代码:
import javax.swing.table.AbstractTableModel;
public class TestTableModel extends AbstractTableModel {
/**
* {@inheritDoc}
*/
@Override
public int getRowCount() {
return 1;
}
@Override
public Object getValueAt(int rowIndex, int columnIndex) {
return null;
}
@Override
public int getColumnCount() {
return 0;
}
}
Run Code Online (Sandbox Code Playgroud)
我确保rt.jar库(包含javax.swing.table.AbstractTableModel)设置了源代码和javadoc位置,当我将鼠标悬停在getRowCount()上时,我在工具提示中获得了AbstractTableModel javadoc.当我从Eclipse生成javadoc时,我确保在"引用的归档和项目"部分中选择了rt.jar.但是继承文档不起作用.
我一直在寻找了好几个月的答案,我已经尝试了许多东西,包括解压压缩文件夹src.zip并使用它作为一个的Javadoc参数(例如:javadoc -sourcepath src com.example.test
)
这是JDK 6 Update 24附带的默认Javadoc.
假设我正在开发一个实现java.util.Map
接口的新地图.默认情况下,我从Map接口覆盖的方法应该从接口继承文档,如果我没有弄错的话.然而,javadoc永远不会这样做.
到目前为止,唯一解决这个问题的方法实际上是用Java编写的类(例如:) javadoc com.example.text java.util
.我不想这样做,因为它似乎重写了Java类,但这是唯一的方法吗?如果它是我想我可以忍受它,但我的理解是有另一种方法来做到这一点.
谢谢=)如果这有点乱,我很抱歉.这是我第一次使用Stack Overflow.如果已经提出这个问题,我也很抱歉.我已经阅读了许多类似的问题,因为它们没有涵盖我想要提出的所有内容,而且我发现它们非常令人困惑,因为它们涉及编写自己的Javadoc实现.无论如何,谢谢你在高级=)
好吧=)如果我理解正确,你想看一个例子.这是一个更简单的例子,我试图看看是不是因为我正在尝试一些不起作用的东西.
package com.example;
/**
* A simple class that returns an upper-case string representation.
*/
public class UpperCaseObject {
@Override public int hashCode() {
return super.hashcode();
}
/**
* {@inheritDoc}
*
* <P>The {@code toString} method for class {@code UpperCaseObject} returns
* converted to uppercase.</P>
*
* @see String#toUpperCase()
*/
@Override public String toString() {
return super.toString().toUpperCase();
}
} …
Run Code Online (Sandbox Code Playgroud) inheritdoc ×7
java ×3
javadoc ×3
c# ×2
eclipse ×2
intellisense ×1
php ×1
phpdoc ×1
resharper ×1
subclass ×1