[Ironruby-core] accessor methods and property syntax in .NET

Ted Neward ted at tedneward.com
Thu Sep 9 01:35:13 EDT 2010


I love how he just tossed that off like it happens to everybody.

 

"Yeah, I know, I was committing this source patch, but all of a sudden there
was this crying squalling thing in my lap that needed a diaper changed. WTF
is up with that? . I know! Seriously! I thought good code wasn't supposed to
have side effects?!? I kept looking to ROLLBACK, but sonuvagun, wouldn't you
know it..."

 

Congrats, Brian.

 

Ted Neward

Java, .NET, XML Services

Consulting, Teaching, Speaking, Writing

http://www.tedneward.com

 

 

From: ironruby-core-bounces at rubyforge.org
[mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Shay Friedman
Sent: Tuesday, September 07, 2010 5:57 AM
To: ironruby-core at rubyforge.org
Subject: Re: [Ironruby-core] accessor methods and property syntax in .NET

 

Beware! 

Contributing to the IronRuby source code might result in having babies!!!

:-)

Congratulations Brian!

On Tue, Sep 7, 2010 at 3:47 PM, Brian Genisio <briangenisio at gmail.com>
wrote:

Actually, we discussed this about a month ago:
http://rubyforge.org/pipermail/ironruby-core/2010-July/007154.html

 

The outcome was that a feature request was added to allow for C# properties
to be defined using getter/setter in ruby.  I was going to look at
implementing it... got into a bit, and had a baby... Haven't looked at it
since.

 

B

 

On Tue, Sep 7, 2010 at 5:55 AM, Davy Brion <ralinx at davybrion.com> wrote:

your solution does however work for the assignment accessor... in fact, you
can do something like this:

class Foo
  attr_reader :bar

 

  def bar=(val)

    # do more stuff here for example

    @bar = val

  end

 

end

and then you can do the following in C#:

var value = myObject.bar;
myObject.bar = someOtherValue;

for my specific scenario, i think i can actually get by with just overriding
the assignment accessor but the thing i'm wondering is: is the current
behavior actually a bug? and will this behavior be preserved in future
releases?

 

On Tue, Sep 7, 2010 at 11:13 AM, Davy Brion <ralinx at davybrion.com> wrote:

if i do that, calling bar as a property like this:

var value = myObject.bar;

leads to 'value' being an instance of IronRuby.BuiltIns.RubyMethod, and not
the value that is in the @bar instance field

which 

i'm using 1.1 btw, not sure how this would behave on 1.0

from looking at the IronRuby source code, it looks like i need to find a way
to change the RubyMemberInfo for a given accessor method to
RubyAttributeReaderInfo or RubyAttributeWriterInfo

 

On Tue, Sep 7, 2010 at 11:01 AM, Ivan Porto Carerro <ivan at flanders.co.nz>
wrote:

You can just define them as attr_accessors and then implement the methods

 

class Foo

 

  attr_accessor :bar, :baz

 

  def bar=(val)

    # do more stuff here for example

    @bar = val

  end

 

  def bar

    @bar

  end

 

end 

 

On Tue, Sep 7, 2010 at 10:36 AM, Davy Brion <ralinx at davybrion.com> wrote:

Hi all,

IronRuby has a nice trick where attributes defined by attr_reader,
attr_accessor and attr_writer are usable as properties from C#... i was just
wondering: is it possible to use the same trick in our own ruby code?

or can anyone just point me in the right direction as to where in the
IronRuby source code i could find where this is being done?

I have accessor methods that really need to do something specific and
ideally, i'd like them be usable as properties in .NET since it leads to a
much nicer syntax in C#

brs,
Davy

_______________________________________________
Ironruby-core mailing list
Ironruby-core at rubyforge.org
http://rubyforge.org/mailman/listinfo/ironruby-core

 


_______________________________________________
Ironruby-core mailing list
Ironruby-core at rubyforge.org
http://rubyforge.org/mailman/listinfo/ironruby-core

 

 


_______________________________________________
Ironruby-core mailing list
Ironruby-core at rubyforge.org
http://rubyforge.org/mailman/listinfo/ironruby-core

 


_______________________________________________
Ironruby-core mailing list
Ironruby-core at rubyforge.org
http://rubyforge.org/mailman/listinfo/ironruby-core

 

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


More information about the Ironruby-core mailing list