IronRuby开发Windows Phone 7应用程序的可行性如何?

时间:2012-02-15 22:00:03

标签: windows-phone-7 ironruby

我已经关注了tutorial关于让rubruby运行起来并且运行良好。但是当我尝试深入研究时,比如使用按钮点击事件,我得到了这个错误;

Could not load type 'System.Reflection.Emit.ModuleBuilder' from assembly 'mscorlib, Version=3.7.0.0, Culture=neutral, PublicKeyToken=969DB8053D3322AC'.

和我的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

使用ironruby构建专业应用程序目前是否可以使用?

2 个答案:

答案 0 :(得分:0)

在Windows Phone 7上使用动态语言的问题是省略了System.Reflection.Emit实现。但是,IronRuby能够通过它的解释器运行大多数代码,而不是发出IL,这使得它可以在Windows Phone 7中运行。但是,像CLR类型的子类化和实现接口这样的东西需要发出IL,所以那些.NET互操作功能将在Windows Phone 7上无法正常运行。

对于您的具体示例,请尝试使用方法:

,而不是使用块
def on_button_click(s, e)
  MessageBox.show("Button Click Works!")
end

button.click.add(method(:on_button_click))

但是,如果这不适合您,请submit an issue

答案 1 :(得分:-1)

可能我个人认为做专业工作的唯一方法就是使用原生操作系统。这样你就拥有了你所拥有的最强大的力量