This is a cross-post from Stack Overflow, but I haven't heard a peep there, so I figured I'd try here:
I am playing around with the interop between C# and IronRuby. I have noticed that if I define a property in Ruby using `attr_accessor`, it is presented to C# as a property. If, on the other hand, I create the exact same code manually, it comes back as a method. For example, take this code: var engine = IronRuby.Ruby.CreateEngine(); string script = @" class Test attr_accessor :automatic def manual @manual end def manual=(val) @manual = val end def initialize @automatic = ""testing"" @manual = ""testing"" end end Test.new "; var testObject = engine.Execute(script); var automatic = testObject.automatic; var manual = testObject.manual; When you look at the C# `automatic` variable, the value is a string of "testing". If you look at the C# `manual` variable, it is type IronRuby.Builtins.RubyMethod. Ultimately, I want to create my own properties in Ruby that can be used in C#, but I can't seem to make them be visible as properties like `attr_accessor` does. I THINK, that there is some magic going on in the Module code of the Ruby source code (ModuleOps.cs:DefineAccessor). Is there any way to do this in Ruby code directly? Thanks, Brian
_______________________________________________ Ironruby-core mailing list Ironruby-core@rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core