Overriding indexers


#1

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
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 C.
GSM: +32.486.787.582
Blog: http://flanders.co.nz
Twitter: http://twitter.com/casualjim
Author of IronRuby in Action (http://manning.com/carrero)


#2

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: removed_email_address@domain.invalid
[mailto:removed_email_address@domain.invalid] 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
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 C.
GSM: +32.486.787.582
Blog: http://flanders.co.nz
Twitter: http://twitter.com/casualjim
Author of IronRuby in Action (http://manning.com/carrero)


#3

hehe it’s for mocking … more specifically HttpSessionStateBase :wink:

Met vriendelijke groeten - Best regards - Salutations
Ivan Porto C.
Blog: http://flanders.co.nz
Twitter: http://twitter.com/casualjim
Author of IronRuby in Action (http://manning.com/carrero)

On Thu, May 28, 2009 at 9:11 PM, Jimmy S. <