Typeof?

Having another go at some WCF stuff again.
I have a C# method that accepts a type. I want to pass it an interface.

interface IMyInterface;
public void DoStuff( Type t );

DoStuff( typeof(IMyInterface) );

From the ruby side, I’m importing both IMyInterface and DoStuff from C#, I
just want to call the method from ruby.

When I do this:

do_stuff( IMyInterface );

I get “can’t convert Module into System::Type”

If I try pass in a class, I get the similar “can’t convert Class into
System::Type”

So, is there a way to get a .NET Type from a ruby object, particularly
an
interface/module? (it is a real .NET type as it’s loaded from a C# dll)

Any help is greatly appreciated. Thanks.

IMyInterface.to_clr_type

Met vriendelijke groeten - Best regards - Salutations
Ivan Porto C.
GSM: +32.486.787.582
Blog: http://flanders.co.nz
Twitter: http://twitter.com/casualjim

IMyInterface.to_clr_type should work.

Tomas

From: [email protected]
[mailto:[email protected]] On Behalf Of Orion E.
Sent: Thursday, March 05, 2009 1:59 PM
To: [email protected]
Subject: [Ironruby-core] Typeof ??

Having another go at some WCF stuff again.

I have a C# method that accepts a type. I want to pass it an interface.

interface IMyInterface;
public void DoStuff( Type t );

DoStuff( typeof(IMyInterface) );

From the ruby side, I’m importing both IMyInterface and DoStuff from C#, I just want to call the method from ruby.

When I do this:

do_stuff( IMyInterface );

I get “can’t convert Module into System::Type”

If I try pass in a class, I get the similar “can’t convert Class into
System::Type”

So, is there a way to get a .NET Type from a ruby object, particularly
an interface/module? (it is a real .NET type as it’s loaded from a C#
dll)

Any help is greatly appreciated. Thanks.