Pretty sure this isn’t implemented yet, as you can accomplish the same type of 
effect with method_missing:

_inner.key2 = “value2”

It definitely should be fixed, but not sure if anyone has it in their sights. 
So open a bug =)

From: [email protected] 
[mailto:[email protected]] On Behalf Of Ivan Porto Carrero
Sent: Thursday, May 28, 2009 10:49 AM
To: ironruby-core
Subject: [Ironruby-core] overriding indexers

Hi

How do I override an indexer on a C# class?

public class IndexerContained{

        private Dictionary<string, string> _inner = new Dictionary<string, 
string>{
            { "key1", "value1" },
            { "key2", "value2" },
            { "key3", "value3" },
            { "key4", "value4" }
        };

        public virtual string this[string name]{
          get { return _inner[name]; }
          set { _inner[name] = value; }
        }
    }

I would like to override that indexer with something like

class IndexerContainedMock

  def [](*args)
    5
  end

  def []=(*args)
    # nothing here
  end
end

Am I doing it wrong or is that not implemented yet?

---
Met vriendelijke groeten - Best regards - Salutations
Ivan Porto Carrero
GSM: +32.486.787.582
Blog: http://flanders.co.nz
Twitter: http://twitter.com/casualjim
Author of IronRuby in Action (http://manning.com/carrero)
_______________________________________________
Ironruby-core mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/ironruby-core

Reply via email to