Как ссылаться на член индексатора класса в комментариях С#

Чтобы ссылаться на элемент класса в комментариях/документации XML, вы должны использовать следующий тег:

<see cref="member"/>

Лучше объяснить здесь.

Как вы ссылаетесь на индексатор?

Я имею в виду, член вроде этого:

internal object this[ int index ] {
    ...
}

Спасибо заранее.

Ответ 1

<see cref="P:System.Collections.ArrayList.Item(System.Int32)" />

Ответ 2

<see cref="this[int]" />

Ответ 3

В общем, чтобы узнать, как ссылаться на любого участника в ваших комментариях, найдите члена в файле документации XML для сборки. Он создается на каждой сборке. Только за исключением дженериков ссылка на элемент может быть взята здесь:

</member>
<member name="P:My.Namespace.Class1.Item(System.String)">
    <summary>
       retrieve a single item of the given name from this instance
    </summary>
    <param name="name">name of the item</param>
    <returns>the item</returns>
</member>
<member name="M:My.Namespace.Class1.Function1(System.Int32[])">
    <summary> 
    ... 

К сожалению, общие форматы определения, похоже, не совместимы между файлом документации и тегами cref. Хотя в XML файле дженерики выглядят так:

<member name="M:My.Namespace.Class1.Get``1(System.String)">
    <summary>
    retrieve an named item of the given type
    </summary>
    <typeparam name="T">the type of the item to retrieve</typeparam>
    ...

Тег cref ожидает их в одном из следующих форматов:

/// <seealso cref="M:My.Namespace.Class1.Get{T}(System.String)"/>   

/// <seealso cref="M:My.Namespace.Class1.Get&lt;T>(System.String)"/>   

Ответ 4

У меня был тот же вопрос, но с свойством generic Dictionary.Item(TKey). ответ leppie

<see cref="P:System.Collections.ArrayList.Item(System.Int32)" />

и дополнительная ссылка ICR (к сожалению, я не могу найти "mscorlib.xml" )

MSDN: обработка XML файла (руководство по программированию на С#)

помог мне.

Но ответ пользователя492238
(Я знаю, я должен прямо прокомментировать его ответ. Но поскольку я новичок, и это мой первый пост, пожалуйста, успокойся, потому что мне не разрешают прокомментировать из-за моей низкой репутации.)

<seealso cref="M:My.Namespace.Class1.Get{T}(System.String)"/>
<seealso cref="M:My.Namespace.Class1.Get&lt;T>(System.String)"/>

приводится только в виде обычного черного текста, в котором только секунды показывают знаки тега < > как указано "жестко закодированные".

Я нашел решение на странице MSDN использовать backticks (`) для дженериков и получил полные ( "colory" ) ссылки на класс и свойство в моем XMLDoc:

    <see cref="P:System.Collections.Generic.Dictionary`2.Item(`0)" />
Dictionary<TKey, TValue>.this[TKey]

Ответ 5

<see cref="ReadOnlyCollection{T}.this[int]" />

как предложено здесь.