6

顾名思义,我不知道如何引用字典索引器。这里有什么帮助吗?:)

仅供参考,我试过:

<see cref="Item"/>
<see cref="Item(Int32)"/> //Highly doubted this would work.
<see cref="Item(TKey)"/>
<see cref="Item[TKey]"/>
4

2 回答 2

7

您可以使用完整的属性语法来引用索引器:

namespace ConsoleApplication1
{
    /// <summary>
    /// See indexer <see cref="P:ConsoleApplication1.MyDictionary`2.Item(`0)"/>
    /// </summary>
    /// <typeparam name="TKey"></typeparam>
    /// <typeparam name="TValue"></typeparam>
    public class MyDictionary<TKey, TValue>
    {
        /// <summary>
        /// Indexer
        /// </summary>
        /// <param name="key"></param>
        /// <returns></returns>
        public TValue this[TKey key]
        {
            get { return default(TValue); }
            set { }
        }
    }
}

您可以通过检查生成的 XML 文件来检查该属性是否已正确解析:

<doc>
    <assembly>
        <name>ConsoleApplication1</name>
    </assembly>
    <members>
        <member name="T:ConsoleApplication1.MyDictionary`2">
            <summary>
            See <see cref="P:ConsoleApplication1.MyDictionary`2.Item(`0)"/>
            </summary>
            <typeparam name="TKey"></typeparam>
            <typeparam name="TValue"></typeparam>
        </member>
        <member name="P:ConsoleApplication1.MyDictionary`2.Item(`0)">
            <summary>
            Indexer
            </summary>
            <param name="key"></param>
            <returns></returns>
        </member>
    </members>
</doc>

注意第一个如何P:匹配第二个。

最后,确保它与 Intellisense 一起工作:

索引器的智能感知


原始海报更新(myermian):

我做了一点挖掘,发现索引器属性的缩写就是“ this ”。前任:<see cref="this"/>

于 2011-07-15T03:12:07.677 回答
4

尝试<see cref="P:Item(System.Int32)" />(名称是Item,而不是Item s

于 2011-07-15T02:56:31.640 回答