Come fattibile è IronRuby per lo sviluppo di Windows Phone 7 Apps?
-
25-10-2019 - |
Domanda
Ho seguito un esercitazione su ottenendo IronRuby in funzione e che funziona alla grande. Tuttavia quando provo a scavare un po 'più profonda, come l'utilizzo di eventi click dei pulsanti ottengo questo errore;
Could not load type 'System.Reflection.Emit.ModuleBuilder' from assembly 'mscorlib, Version=3.7.0.0, Culture=neutral, PublicKeyToken=969DB8053D3322AC'.
E la mia 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
E 'attualmente posisible di costruire applicazioni professionali con IronRuby?
Soluzione
Il problema con l'utilizzo di linguaggi dinamici su Windows Phone 7 è la sua omissione della realizzazione System.Reflection.Emit
. Tuttavia, IronRuby è in grado di eseguire la maggior parte del codice attraverso il suo interprete, invece che sull'emissione IL, che rende possibile l'esecuzione in Windows Phone 7. Tuttavia, le cose come sottoclasse tipi CLR e interfacce attuazione richiedono che emettono IL, così quelli .NET interoperabilità caratteristiche saranno non essere funzionale su Windows Phone 7.
Per la vostra esempio specifico, invece di utilizzare un blocco, provare a utilizzare un metodo:
def on_button_click(s, e)
MessageBox.show("Button Click Works!")
end
button.click.add(method(:on_button_click))
Tuttavia, se questo non funziona per voi, per favore presentare un problema .
Altri suggerimenti
Probabilmente ma io personalmente credo che il solo modo per fare un lavoro professionale sta usando il sistema operativo nativo. In questo modo si ha la più potere di quello che hai da fare