Comment Faisable IronRuby Est pour le développement de Windows Phone 7?
-
25-10-2019 - |
Question
J'ai suivi un tutoriel sur obtenir IronRuby et en cours d'exécution et qui fonctionne très bien. Cependant, lorsque je tente de plonger un peu plus, comme l'utilisation d'événements de clic de bouton, je reçois cette erreur;
Could not load type 'System.Reflection.Emit.ModuleBuilder' from assembly 'mscorlib, Version=3.7.0.0, Culture=neutral, PublicKeyToken=969DB8053D3322AC'.
Et mon MainPage.rb
include System
include System::Windows
include System::Windows::Controls
# Set the titles
Phone.find_name("ApplicationTitle").text = "this is the application title"
Phone.find_name("PageTitle").text = "and page title here"
# Create a new button and add to page
button = Button.new
button.content = "Click Me"
Phone.find_name("ContentPanel").children.add(button)
button.click do |s,e| # breaks here
MessageBox.show("Button Click Works!")
end
est-il actuellement posisible pour créer des applications professionnelles avec IronRuby?
La solution
Le problème avec l'utilisation des langues dynamiques sur Windows Phone 7 est une omission de la mise en œuvre de ce System.Reflection.Emit
de. Cependant, IronRuby est en mesure d'exécuter la plupart du code par l'interprète de, plutôt que de l'émettre IL, qui permet d'exécuter dans Windows Phone 7. Cependant, les choses comme le sous-classement types CLR et les interfaces d'application, requièrent émission de IL, de sorte que les .NET Interop fonctionnalités seront ne pas être fonctionnel sur Windows Phone 7.
Pour votre exemple spécifique, au lieu d'utiliser un bloc, essayez d'utiliser une méthode:
def on_button_click(s, e)
MessageBox.show("Button Click Works!")
end
button.click.add(method(:on_button_click))
Cependant, si cela ne fonctionne pas pour vous, s'il vous plaît soumettre un problème.
Autres conseils
Probablement, mais je pense personnellement la seule façon de faire un travail professionnel utilise le système d'exploitation natif. De cette façon, vous avez la plus grande puissance de ce que vous avez à faire