2009-09-25 6 views
1

Lorsque j'insère IronRuby, quelle est la bonne façon d'obtenir une référence aux classes DateTime/Date de Ruby ou System.DateTime de .NET. Je suis en cours d'exécution dans des erreurs lorsque je tenteIncorporation de IronRuby en C# et DateTime

require 'Date'

Je reçois l'erreur - pas de fichier à charger - Date

lorsque je tente require 'mscorlib.dll' I obtenir l'erreur - pas un tel fichier à charger - mscorlib.dll

Quelle est la bonne façon de faire l'un de ces?

MISE À JOUR: voir les commentaires à Jon Skeet

Répondre

3

L'heure est un type de noyau dans ruby ​​qui correspond à un System.DateTime.

Pour obtenir DateTime.Now vous pouvez faire Time.new

Il existe des extensions datetime pour que vous puissiez faire exigent le 'temps' ou require 'datetime'

mscorlib est implicite et est toujours nécessaire si vous n'avez pas besoin de l'exiger explicitement. si vous voulez obtenir le DateTime CLR que vous pouvez faire

System :: DateTime.now ou System :: DateTime.Now

+0

merci +1. Des pensées à pourquoi je ne peux pas utiliser des arguments sur DateTime.new()? voir les commentaires à Jon Skeet. – BuddyJoe

+1

Il existe plusieurs façons d'y arriver En utilisant le constructeur CLR vous pouvez le faire avec Time.clr_new 2007, 6, 5 En utilisant la méthode ruby ​​pour une heure locale, vous pouvez utiliser Time.local 2007, 6, 5 et pour utc vous utilisez Time.utc 2007, 6, 5 –

+0

clr_new huh. devra lire à ce sujet. Merci encore. – BuddyJoe

1

Avez-vous essayé

require 'mscorlib' 

pour spécifier le nom de montage au lieu du nom de fichier? C'est ce qui est spécifié dans cette old blog post ...

+0

qui m'a un peu plus loin. Maintenant, je étouffe juste sur dt = System :: DateTime.new (2007,6,5). Donne un mauvais nombre d'arguments (3 pour 0). hmmmmm – BuddyJoe

+0

+1. Toujours coincé sur le constructeur .new exploser cependant. Je ne l'ai jamais résolu. J'ai dû créer une méthode CreateDateTime() à partir d'un de mes objets juste pour que je puisse contourner ce problème pour le moment. – BuddyJoe

Questions connexes