Ответ 1
<see cref="P:System.Collections.ArrayList.Item(System.Int32)" />
Чтобы ссылаться на элемент класса в комментариях/документации XML, вы должны использовать следующий тег:
<see cref="member"/>
Лучше объяснить здесь.
Как вы ссылаетесь на индексатор?
Я имею в виду, член вроде этого:
internal object this[ int index ] {
...
}
Спасибо заранее.
<see cref="P:System.Collections.ArrayList.Item(System.Int32)" />
<see cref="this[int]" />
В общем, чтобы узнать, как ссылаться на любого участника в ваших комментариях, найдите члена в файле документации 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<T>(System.String)"/>
У меня был тот же вопрос, но с свойством 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<T>(System.String)"/>
приводится только в виде обычного черного текста, в котором только секунды показывают знаки тега < > как указано "жестко закодированные".
Я нашел решение на странице MSDN использовать backticks (`) для дженериков и получил полные ( "colory" ) ссылки на класс и свойство в моем XMLDoc:
<see cref="P:System.Collections.Generic.Dictionary`2.Item(`0)" />
Dictionary<TKey, TValue>.this[TKey]
<see cref="ReadOnlyCollection{T}.this[int]" />
как предложено здесь.