doxygen未解析对同一C#命名空间中成员的@ref引用
首先,我应该说,我不是强氧剂专家,而且似乎在每次尝试使用它时都会学到一些新的技巧或技巧。然而,我遇到了一种情况,我对一些似乎非常基本的事情感到困惑,即创建@ref的方法doxygen未解析对同一C#命名空间中成员的@ref引用,c#,doxygen,ref,C#,Doxygen,Ref,首先,我应该说,我不是强氧剂专家,而且似乎在每次尝试使用它时都会学到一些新的技巧或技巧。然而,我遇到了一种情况,我对一些似乎非常基本的事情感到困惑,即创建@ref的方法 为了确保我没有重复已经报告过的东西,我搜索了其他的doxGEN报告的例子,“对于ReF命令,无法解决引用”,并且找到了与我所看到的类似的东西,但是C++。该特定问题在doxygen 1.8.6中被认为已修复 然而,我看到的特别问题是C。我也在使用doxygen 1.8.9.1 我将内容缩减为一个较短的示例,使用一个非常简单的ma
为了确保我没有重复已经报告过的东西,我搜索了其他的doxGEN报告的例子,“对于ReF命令,无法解决引用”,并且找到了与我所看到的类似的东西,但是C++。该特定问题在doxygen 1.8.6中被认为已修复
然而,我看到的特别问题是C。我也在使用doxygen 1.8.9.1 我将内容缩减为一个较短的示例,使用一个非常简单的mainpage.cs和两个简单C#类中的完全合格成员@ref。这两个类位于同一命名空间中。我不知道它是否重要,但名称空间实际上有一个复合名称,即XXX.Reader\u接口,而不是像ReaderInterface这样的简单名称 但是,即使我用名称空间完全限定方法名,我仍然会得到doxygen警告: C:/RefBug/Interface/mainpage.cs:26:警告:无法解析对\ref命令的XXX.Reader\u Interface.Reader.GetAvailableReaders()的引用
C:/RefBug/Interface/mainpage.cs:31:警告:无法解析\ref命令对
XXX.Reader\u Interface.ReaderRef'的引用
My mainpage.cs:
/**
* @file
*
* @mainpage
*
* @tableofcontents
*
* @section intro Introduction
*
* This document describes the Application Programming Interface (API) for
* communicating with readers in the XXX Software system.
* @section usingTheAPI Using the API
*
* This section describes a typical usage scenario for the API, along with the
* data sources and sinks and threads of execution.
*
* @subsection findingReaders Finding Readers
*
* First, the application must be configured for (or figure out) what readers
* are available to be used by the system.
*
* @subsubsection queryReaders Automatically Finding Readers
*
* One option to do this will be provided via the method
* @ref XXX.Reader_Interface.Reader.GetAvailableReaders() ,
* which will use some kind of magic.
*
* @subsubsection makeReader Creating a Reader
*
* Instantiate a reader using a @ref XXX.Reader_Interface.ReaderRef.
*
* @defgroup abstractReader What all Readers have in common
*/
一个C#文件Reader.cs:
/**
*
* @file
*
* @brief Brief description of file/module.
* @details More detailed description of file/module.
* @copyright (c) 2015 Somebody, Incorporated. All rights reserved.
*
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace XXX.Instrument_Interface
{
/// @ingroup abstractReader
///
/// @brief Abstract base class for a reader.
///
/// <summary>
/// Abstract base class to represent an reader with a serial interface.
/// </summary>
public abstract class Reader
{
/// <summary>
/// Check each serial port to see if a reader is attached.
/// </summary>
/// <returns>
/// Array of available readers.
/// </returns>
public static ReaderRef[] GetAvailableReaders()
{
return null;
}
/// <summary>
/// Create an instance of a new reader, using an element of the list of
/// available readers as input.
/// </summary>
/// <param name="reader">
/// One of the readers found attached to this PC.
/// Obtained from the list provided by GetAvailableReader().
/// </param>
public Reader(ReaderRef reader)
{
throw new NotImplementedException();
}
}
}
/**
*
*@file
*
*@文件/模块的简要说明。
*@details文件/模块的更详细描述。
*@版权所有(c)2015年,法人。版权所有。
*
*/
使用制度;
使用System.Collections.Generic;
使用System.Linq;
使用系统文本;
使用System.Threading.Tasks;
名称空间XXX.Instrument\u接口
{
///@ingroup abstractReader
///
///@读者的简短抽象基类。
///
///
///抽象基类,用串行接口表示读取器。
///
公共抽象类读取器
{
///
///检查每个串行端口,查看是否连接了读卡器。
///
///
///可用读卡器的数组。
///
公共静态ReaderRef[]GetAvailableReaders()
{
返回null;
}
///
///使用列表中的元素创建新读取器的实例
///可用的读者作为输入。
///
///
///找到的其中一个读卡器已连接到此电脑。
///从GetAvailableReader()提供的列表中获取。
///
公共阅读器(ReaderRef阅读器)
{
抛出新的NotImplementedException();
}
}
}
另一个C#文件ReaderRef.cs:
////////////////////////////////////////////////////////////////////////////////
///
/// @file
///
/// @brief Brief description of file/module.
///
/// @details More detailed description of file/module.
///
/// @copyright (c) 2015 Somebody, Incorporated. All rights reserved.
///
////////////////////////////////////////////////////////////////////////////////
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace XXX.Instrument_Interface
{
/// @ingroup abstractReader
///
/// @brief Reference to a reader.
///
/// <summary>
/// Reference to an reader connected to this PC.
/// </summary>
public class ReaderRef
{
/// <summary>
/// Gets or sets the type of reader.
/// </summary>
public Type ReaderType
{
set;
get;
}
/// <summary>
/// Gets or sets a unique description for the reader.
/// This should be unique to each reader, such as a serial number.
/// </summary>
public string Description
{
get;
set;
}
/// <summary>
/// Gets an instance of a specific reader based on the
/// reader type.
/// </summary>
/// <returns>The reader if found, null otherwise.</returns>
public Reader GetReader()
{
return null;
}
}
}
////////////////////////////////////////////////////////////////////////////////
///
///@file
///
///@文件/模块的简要说明。
///
///@details文件/模块的更详细描述。
///
///@版权所有(c)2015年,法人。版权所有。
///
////////////////////////////////////////////////////////////////////////////////
使用制度;
使用System.Collections.Generic;
使用System.Linq;
使用系统文本;
使用System.Threading.Tasks;
名称空间XXX.Instrument\u接口
{
///@ingroup abstractReader
///
///@向读者简要介绍。
///
///
///连接到此电脑的读卡器的引用。
///
公共类ReaderRef
{
///
///获取或设置读取器的类型。
///
公共类型读取器类型
{
设置
得到;
}
///
///获取或设置读取器的唯一描述。
///这对于每个读卡器都应该是唯一的,例如序列号。
///
公共字符串描述
{
得到;
设置
}
///
///获取基于的特定读取器的实例
///读卡器类型。
///
///如果找到读取器,则为null。
公共阅读器GetReader()
{
返回null;
}
}
}
这是一个bug,还是我以一种不正确的方式使用了doxygen?我希望有人能告诉我为什么doxygen不能解析这些引用。我也很乐意上传一个包含整个示例的.zip文件,供任何想尝试它的人使用
提前感谢您的帮助和耐心 对不起,这是一个非常简单、愚蠢的错误。我创建的引用与命名空间说明符不匹配,因此doxygen当然无法解析它。退一步重新检查代码后,我立即找到了它。很抱歉让电子邮件流量变得混乱,感谢您的耐心等待