title: Named indexed property in C#?
body: <p>A few languages - like Delphi - has a very convenient way of creating indexers: not only the whole class, but even single properties can be indexed, for instance:</p>
  
  <pre><code>type TMyClass = class(TObject)
  protected
      function GetMyProp(index : integer) : string;
      procedure SetMyProp(index : integer; value : string);
  public
      property MyProp[index : integer] : string read GetMyProp write SetMyProp;
  end;
  </code></pre>
  
  <p>This can be used easily:</p>
  
  <pre><code>var c : TMyClass;
  
  begin
      c = TMyClass.Create;
      c.MyProp[5] := 'Ala ma kota';
      c.Free;
  end;
  </code></pre>
  
  <p>Is there a way to achieve the same effect in C# easily?</p>