它不是方法,不是变量,也不是属性,它是什么?

我今天遇到了一些我不明白的事情。考虑以下片段:


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);

}

这条线是什么


public TValue this[TKey key] => _dictionary.GetOrAdd(key, _factory);

它没有我能看到的名字。如果是这样,我想这将是一个财产?它是什么以及它是如何工作的?


互换的青春
浏览 161回答 1
1回答

噜噜哒

这是一个只读的索引器属性。索引器this用作名称。它允许您在您的类型的实例上支持方括号。使用=>语法,它使它成为只读的。
打开App,查看更多内容
随时随地看视频慕课网APP