The answer was found a minute after posting the question and viewing the code and documentation - C # allows you to use any type as a parameter for the indexer, but not params as a special case.
According to MSDN ,
Indexers do not have to be indexed by an integer value; Itβs up to you how to determine the specific search engine.
In other words, an indexer can be of any type. It could be an array ...
public IEnumerable<TValue> this[TKey[] keys] { get { return keys.Select(key => Dict[key]); } } var res = sd[new [] {"a", "b"}];
or any other unusual type or collection, including an array of params , if it seems convenient and appropriate in your case.
source share