Hi
Is there a way for me to call an overloaded constructor?? I want
to say date = new DateTime(2009,9,28) using IronRuby 0.9.2. I have
been
searching quite a bit and haven’t seen anything so far.
Thank you,
Patrick
Hi
Is there a way for me to call an overloaded constructor?? I want
to say date = new DateTime(2009,9,28) using IronRuby 0.9.2. I have
been
searching quite a bit and haven’t seen anything so far.
Thank you,
Patrick
But you can just use the ruby way and that is a lot less noisy
for a local time
Time.local 2009, 9, 28
http://ruby-doc.org/core/classes/Time.html#M000254
for utc
Time.utc 2009, 9, 29
http://ruby-doc.org/core/classes/Time.html#M000252
It still creates a System::DateTime underneath
Met vriendelijke groeten - Best regards - Salutations
Ivan Porto C.
Blog: http://flanders.co.nz
Google Wave: [email protected]
Twitter: http://twitter.com/casualjim
Author of IronRuby in Action (http://manning.com/carrero)
Met vriendelijke groeten - Best regards - Salutations
Ivan Porto C.
Blog: http://flanders.co.nz
Google Wave: [email protected]
Twitter: http://twitter.com/casualjim
Author of IronRuby in Action (http://manning.com/carrero)
CLR DateTime type is currently mapped to Time Ruby class, so “new” uses
only Ruby constructors to be compatible. However, you can use clr_new to
call the CLR constructor for any CLR type with a public constructor:
Time.clr_new(2009, 9, 28)
You can also get the constructor method and call it like so:
Time.clr_ctor.call(2009, 9, 28)
This is useful when there are multiple overloads of the constructor
among which we are not able to choose based upon the types of the actual
arguments.
Tomas
From: [email protected]
[mailto:[email protected]] On Behalf Of Patrick Brown
Sent: Thursday, November 12, 2009 3:49 PM
To: [email protected]
Subject: [Ironruby-core] call an overloaded constructor??
Hi
Is there a way for me to call an overloaded constructor?? I want to
say date = new DateTime(2009,9,28) using IronRuby 0.9.2. I have been
searching quite a bit and haven’t seen anything so far.
Thank you,
Patrick
Hi
That is fine in this case, can you tell me, in cases where I can’t
fall
back on a ruby class, is there a way to call an overloaded constructor?
Your reply makes me worry a bit more.
Thanks,
Patrick
OOooooh that’s pretty…. J
From: [email protected]
[mailto:[email protected]] On Behalf Of Ivan Porto
Carrero
Sent: Thursday, November 12, 2009 4:07 PM
To: [email protected]
Subject: Re: [Ironruby-core] call an overloaded constructor??
Met vriendelijke groeten - Best regards - Salutations
Ivan Porto C.
Blog: http://flanders.co.nz
Google Wave: [email protected]
Twitter: http://twitter.com/casualjim
Author of IronRuby in Action (http://manning.com/carrero)
On Fri, Nov 13, 2009 at 12:49 AM, Patrick Brown
[email protected] wrote:
Hi
Is there a way for me to call an overloaded constructor?? I want to
say date = new DateTime(2009,9,28) using IronRuby 0.9.2. I have been
searching quite a bit and haven’t seen anything so far.
Thank you,
Patrick
Ironruby-core mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/ironruby-core
Hi Patrick,
Assuming you have the next C# class in C:\CustomAssembly.dll:
namespace ClassLibrary2
{
public class Class1
{
public Class1(int a)
{
Console.WriteLine(a);
}
public Class1(int a, string s)
{
Console.WriteLine(“{0} and {1}”,a,s);
}
public Class1(bool b)
{
Console.WriteLine(“b = {0}”,b);
}
}
}
There are several constructors here. All you have to do to call a
specific
constructor via IronRuby, is to get the constructor method object (with
clr_ctor like Tomas said), use the overload method to pick up the needed
overload and call it.
For example, the next IronRuby code executes all three constructors of
the
custom class above:
require ‘c:\CustomAssembly.dll’
include ClassLibrary2
Class1.clr_ctor.overload(System::Int32).call 1
Class1.clr_ctor.overload(System::Int32, System::String).call 1, “yes”
Class1.clr_ctor.overload(System::Boolean).call true
Hope it helps,
Shay.
Shay F.
Author of IronRuby Unleashed
http://www.IronShay.com
Follow me: http://twitter.com/ironshay
Hello
Thank you all for your help and I have to say that I am sorry also, I
missed the other replies where you came right out and told me how to do
it,
for some reason I only saw the one that mapped the DateTime to the Time
object, you all provided very good answers to my question and I really
appreciate it.
Patrick
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.
Sponsor our Newsletter | Privacy Policy | Terms of Service | Remote Ruby Jobs