它不是一种方法,它不是一个变量,它不是一个属性,它是什么?

Chr*_*isz -1 c#

我遇到了一些我今天不理解的事情.请考虑以下代码段:

public class EventStreamCollection<TKey, TValue>
{
    private readonly ConcurrentDictionary<TKey, TValue> _dictionary = new ConcurrentDictionary<TKey, TValue>();
    private readonly Func<TKey, TValue> _factory;
    public EventStreamCollection(Func<TKey, TValue> factory)
    {
        _factory = factory;
    }

    public TValue this[TKey key] => _dictionary.GetOrAdd(key, _factory);
}
Run Code Online (Sandbox Code Playgroud)

什么是这条线

public TValue this[TKey key] => _dictionary.GetOrAdd(key, _factory);
Run Code Online (Sandbox Code Playgroud)

它没有我能看到的名字.如果是的话,我想这将属于财产?它是什么以及它是如何工作的?

Dan*_*ite 8

这是一个只读的索引器属性.

索引器this用作名称.它允许您在您的类型的实例上支持方括号.

使用=>语法,它使其成为只读.