[Ironruby-core] Frozen .NET objects

Nathan Stults Nathan_Stults at HSIHealth.com
Wed Dec 9 17:10:51 EST 2009


I was freezing a live instance of a custom .NET class and half expecting
property setters to become immutable, but I can imagine that would be
pretty hard to implement. I do have a related question though - I would
like to provide a read-only copy of some custom .NET DTO's to a ruby
script - my thinking was to inherit an adapter from DynamicObject and
provide no-op implementation for all by TryGetMember - which is easy
enough to do via reflection, but is there an easy way to tap into the
DLR's capability of doing this in a name-mangling way - i.e. a way to
implement TryGetMember that somehow re-uses what the DLR is doing behind
the scenes when integrating with a native .NET object?

 

From: ironruby-core-bounces at rubyforge.org
[mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Tomas Matousek
Sent: Wednesday, December 09, 2009 2:06 PM
To: ironruby-core at rubyforge.org
Subject: Re: [Ironruby-core] Frozen .NET objects

 

It has an effect:

 

>>> System::Collections::ArrayList.freeze

=> System::Collections::ArrayList

>>> class System::Collections::ArrayList

...   def foo

...   end

... end

:0: can't modify frozen class (TypeError)

 

Is there another effect you expect?

 

Tomas

 

From: ironruby-core-bounces at rubyforge.org
[mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Nathan Stults
Sent: Wednesday, December 09, 2009 12:47 PM
To: ironruby-core at rubyforge.org
Subject: [Ironruby-core] Frozen .NET objects

 

I've noticed calling .freeze on a native .NET class does not have any
effect (other than making #frozen? Return true)

 

Is this by design?

 

Thanks,

 

Nathan 

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rubyforge.org/pipermail/ironruby-core/attachments/20091209/23c5534f/attachment.html>


More information about the Ironruby-core mailing list