C # в чем смысл или выгода индексатора?

Чтение некоторого кода и наткнулся на этот фрагмент, который я не видел раньше:

public SomeClass {
  public someInterface this[String strParameter] {
    get {
      return SomeInternalMethod(strParameter);
    }
  }
}

Похоже, это называется следующим образом:

SomeClass _someClass = new SomeClass();
SomeInterface returnedValue = _someClass["someString"];

Меня интересует, где эта функция будет уместной или какова цель написания в этом стиле. Например, почему это предпочтительнее простого вызова функции?

Ответы на вопрос(11)

Ваш ответ на вопрос