[Ironruby-core] Handling C# lower case namespaces

Ivan Porto Carrero ivan at flanders.co.nz
Mon Dec 8 16:52:26 EST 2008


Normally
foo = x::y::z::Foo.new(1)

in the console you need to use global variables:$foo = x::y::z::Foo.new(1)


On Mon, Dec 8, 2008 at 10:43 PM, Aaron Feng <aaron.feng at gmail.com> wrote:

> I tried to load the struct the same way, but I don't know how to set the
> value of it.  For example:
>
> C#
>
> namespace x.y.z {
>     public struct Foo {
>         public long Bar;
>         public Foo(long bar) {
>             this.Bar = bar;
>         }
>     }
> }
>
> var foo = new x.y.z.Foo(1);
>
> IronRuby
>
> Foo = Type.get_type("x.y.z.Foo, MyAssembly, Version=1.0.0.0,
> Culture=neutral, PublicKeyToken=null", true).to_class
>
> # how do I do the equivalent of
> # var foo = new x.y.z.Foo(1); ?
>
> Aaron
>
>
> On Mon, Dec 8, 2008 at 3:45 PM, Tomas Matousek <
> Tomas.Matousek at microsoft.com> wrote:
>
>>  You can use Assembly.LoadFile and point it to an absolute path instead.
>>
>>
>>
>> Tomas
>>
>>
>>
>> *From:* ironruby-core-bounces at rubyforge.org [mailto:
>> ironruby-core-bounces at rubyforge.org] *On Behalf Of *Aaron Feng
>> *Sent:* Monday, December 08, 2008 12:33 PM
>>
>> *To:* ironruby-core at rubyforge.org
>> *Subject:* Re: [Ironruby-core] Handling C# lower case namespaces
>>
>>
>>
>> Ok,  I got Assembly.Load and Type.get_type both to work with my own DLL.
>> The actual DLL have to live where ir.exe lives.  Is there a way for it to
>> look in the directory of the ruby file?  Like the way require statement
>> work.
>>
>> Aaron
>>
>>
>>  On Mon, Dec 8, 2008 at 2:11 PM, Tomas Matousek <
>> Tomas.Matousek at microsoft.com> wrote:
>>
>> Can you load the assembly and get the type explicitly?
>>
>>
>>
>> require 'mscorlib'
>>
>> System::Reflection::Assembly.Load("IronNails.Library, Version=1.0.0.0,
>> Culture=neutral, PublicKeyToken=null").GetType(
>> 'IronNails.View.XamlProxy')
>>
>>
>>
>> Tomas
>>
>>
>>
>> *From:* ironruby-core-bounces at rubyforge.org [mailto:
>> ironruby-core-bounces at rubyforge.org] *On Behalf Of *Ivan Porto Carrero
>> *Sent:* Monday, December 08, 2008 9:46 AM
>>
>>
>> *To:* ironruby-core at rubyforge.org
>>
>> *Subject:* Re: [Ironruby-core] Handling C# lower case namespaces
>>
>>
>>
>> I get the same behavior.
>> I can load types from the CLR but not from my own assembly.
>>
>> I copied my assembly into the folder that contains ir.exe
>>
>> >>> require 'mscorlib'
>> => true
>> >>> require 'IronNails.Library, Version=1.0.0.0, Culture=neutral,
>> PublicKeyToken=null'
>> => true
>> >>> IronNails::View::XamlProxy
>> => IronNails::View::XamlProxy
>> >>> System::Type.get_type 'IronNails.View.XamlProxy'
>> => nil
>> >>> System::Type.get_type 'System.String'
>> => #<System::RuntimeType:0x000005c>
>> >>> IronNails::View::XamlProxy.to_clr_type
>> => #<System::RuntimeType:0x000005e>
>>
>>
>>  On Mon, Dec 8, 2008 at 5:54 PM, Aaron Feng <aaron.feng at gmail.com> wrote:
>>
>> Tomas,
>>
>> I tried it again.  I couldn't get the following to work with my own DLL
>> even If I capitalize the namespace (It does work fine with build in types
>> like System.String):
>>
>> > System::Type.get_type("Abc.Hi, Version=1.0.0.0, Culture=neutral,
>> PublicKeyToken=null")
>>
>> Do I have any other options?
>>
>> Thanks,
>>
>>
>> Aaron
>>
>> _______________________________________________
>> Ironruby-core mailing list
>> Ironruby-core at rubyforge.org
>> http://rubyforge.org/mailman/listinfo/ironruby-core
>>
>>
>>
>>
>> _______________________________________________
>> Ironruby-core mailing list
>> Ironruby-core at rubyforge.org
>> http://rubyforge.org/mailman/listinfo/ironruby-core
>>
>>
>>
>> _______________________________________________
>> Ironruby-core mailing list
>> Ironruby-core at rubyforge.org
>> http://rubyforge.org/mailman/listinfo/ironruby-core
>>
>>
>
> _______________________________________________
> Ironruby-core mailing list
> Ironruby-core at rubyforge.org
> http://rubyforge.org/mailman/listinfo/ironruby-core
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rubyforge.org/pipermail/ironruby-core/attachments/20081208/02008f25/attachment-0001.html>


More information about the Ironruby-core mailing list