Hello.
I need some tools to get property names of both Ruby objects and .Net
objects. First I thought that there’ll be no problem with it. I tried to
do it like:
def GetPropertyList(obj)
return obj.instance_variables
end
But it turned out that when “obj” is a .Net object
obj.instance_variables returns nothing. Well, it returns an array but
array is empty.
For example:
require “Foo”
include FooModule
foo = Foo.new
foo.NetVal1 = “Hello”
foo.NetVal2 = 100
puts foo.class # => FooModule::Foo
puts foo.NetVal1 # => Hello
puts doo.NetVal2 # => 100
puts foo.instance_variables # => #it’s blank here
puts foo.instance_variables.class # => Array
Well, then I thought that I can use reflection to get property list for
.Net objects:
def GetPropertyList(obj)
array = Array.new
obj.GetType().GetProperties.each do |prop|
array.push prop.name
end
array
end
But it didn’t work for a ruby object. I tried to somehow find out
weather object is from ruby or .Net and depending on it parse objects,
but I couldn’t think of any working solution.
So my question is:
Give me a hint on how I can parse both ruby and .net objects using one
algorithm.
Thanks in advance,
Alex.