Doxygen, по-видимому, считает, что классы и структуры C# по умолчанию являются общедоступными, а не внутренними, и будет документировать их как таковые. Однако, если вы явно используете модификатор доступа C# internal
, Doxygen уважает его (в определенной степени). Итак, запустив Doxygen на этом источнике:
namespace Test_Library
{
/// <summary>
/// I should be documented.
/// </summary>
public class ExplicitPublicClass
{
public int Field;
}
/// <summary>
/// I should NOT be documented.
/// </summary>
class ImplicitInternalClass
{
public int Field;
}
/// <summary>
/// I should NOT be documented.
/// </summary>
internal class ExplicitInternalClass
{
public int Field;
}
/// <summary>
/// I should be documented.
/// </summary>
public struct ExplicitPublicStruct
{
public int Field;
}
/// <summary>
/// I should NOT be documented.
/// </summary>
struct ImplicitInternalStruct
{
public int Field;
}
/// <summary>
/// I should NOT be documented.
/// </summary>
internal struct ExplicitInternalStruct
{
public int Field;
}
}
gets you this Class List in Doxygen's output:
C ExplicitPublicClass I should be documented.
C ExplicitPublicStruct I should be documented.
C ImplicitInternalClass I should NOT be documented.
C ImplicitInternalStruct I should NOT be documented.
Однако вы по-прежнему получаете явно внутренние классы и структуры в списке классов Doxygen в разделе «Справочник по пространству имен:»
class ExplicitInternalClass
I should NOT be documented.
struct ExplicitInternalStruct
I should NOT be documented.
class ExplicitPublicClass
I should be documented. More...
struct ExplicitPublicStruct
I should be documented. More...
class ImplicitInternalClass
I should NOT be documented. More...
struct ImplicitInternalStruct
I should NOT be documented. More...
Но обратите внимание, что ссылка «Подробнее...» на фактическую документацию (а также ссылка, доступная в соответствующем имени класса/структуры) недоступна для первых двух.
Таким образом, вы можете получить некоторое поведение, которое вы ищете, используя явный модификатор доступа internal
C#, но не обязательно все поведение, которое вы ищете. (Для сравнения, VSDocMan обрабатывает приведенный выше исходный код именно так, как вы этого хотите: документируются только явно открытый класс и структура, без упоминания ни явных, ни неявных внутренних классов или структур.)
person
Stevens Miller
schedule
12.09.2017