This seems to work
//C# assembly referencing the Ruby.NET.Runtime assembly namespace Inspect { public class Access { public static Ruby.Class getRubyPerson() { ClassLibrary2.nested.Person p = new ClassLibrary2.nested.Person("", 0); return Ruby.Class.CLASS_OF(p); } } }
## Ruby x = Inspect::Access.getRubyPerson() fred = x.new(name, age) fred.print
It's a pity that I need an object and cannot just send a System.Type
into Interop.CLRClass.Load(type, null, false);
, which this ends up doing, but that method is internal to the Runtime DLL.
It should be possible, though, to have a require_jsharp('assembly.dll')
that does the tedious running around back and forth through the Ruby/C# boundary in an anutmated fashion, and creates appropriate proxies for lowercase package-names in a tree-like object.
No comments:
Post a Comment