Getting the .NET type of an IronRuby class

Is there a simple way of getting the .NET type of an IronRuby class?

I have this code:

resources =
System::ComponentModel::ComponentResourceManager.new(X.class)

where X is a class. But this doesn’t do it - I get a run time exception.

Any ideas?

Dermot

Michael L. wrote:

resources = System::ComponentModel::ComponentResoruceManager.new(
X.GetType)

Thanks! Yes, it’s obvious: I think I’ve got trouble switching beteen
thinking in Ruby and thinking in .NET …

Dermot

resources = System::ComponentModel::ComponentResoruceManager.new(
X.GetType)

or if you’d rather:

require ‘mscorlib’

def typeof(object)
System::Type.GetTypeFromHandle(System::Type.GetTypeHandle(object))
end

On Feb 9, 2008 1:42 PM, Dermot H. [email protected] wrote:

Any ideas?

Dermot

Posted via http://www.ruby-forum.com/.


Ironruby-core mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/ironruby-core


Michael L.
[Polymath Programmer]
http://michaeldotnet.blogspot.com

We are evaluating IronRuby and/or IronPython to use as event handling
script language in a WPF / XAML GUI project.

Our current XAML / C# design has the regular VS2008 -generated logic of
creating custom class (and enbedded BAML) for each XAML-file. We also
use heavily custom controls to build up larger panels / windows:

MyControl.xaml:

...

Window1.xaml:

... ... ... ...

While I have been able to attach event handlers defined in IronPython
2.0 to the various GUI classes, I would find it more natural if I could
derive classes in Ruby from the corresponding CLR-classes:

class MyControlRuby < MyControl

def Clicked(sender, args)

end

However, I suspect that re-using such classes on the XAML-side would not
work:

... ... ... ...

Can someone confirm or deny my assumption about XAML being
not-so-DLR-language-friendly here as I suppose?

Might this approach have better changes of success if I would use
IronPython 1.1 that can supposedly compile Python classes to CLR
classes?

Robert B.
Software architect
Napa Ltd
Tammasaarenkatu 3, Helsinki FI-00180
P.O.Box 470, Helsinki FI-00181

Tel. +358 9 22 813 1
Direct. +358 9 22 813 611
GSM +358 45 11 456 02
Fax. +358 9 22 813 800

Email: [email protected]