Windows Phone 7アプリを開発するためにIronrubyはどの程度追跡可能ですか?

StackOverflow https://stackoverflow.com/questions/9302130

  •  25-10-2019
  •  | 
  •  

質問

私は従いました チュートリアル Ironrubyを稼働させることで、それはうまく機能します。ただし、ボタンクリックイベントを使用するなど、もう少し深く掘り下げようとすると、このエラーが発生します。

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を使用してプロのアプリを構築することは肯定的ですか?

役に立ちましたか?

解決

Windows Phone 7で動的言語を使用することの問題は、それが省略していることです System.Reflection.Emit 実装。ただし、Ironrubyは、ILを放射するのではなく、ほとんどのコードをインタープリターを介して実行することができます。これにより、Windows Phone 7で実行できます。ただし、CLRタイプをサブクラス化してインターフェイスを実装する必要があるため、.NET Interop機能は必要になります。 Windows Phone 7で機能しないでください。

特定の例については、ブロックを使用する代わりに、メソッドを使用してみてください。

def on_button_click(s, e)
  MessageBox.show("Button Click Works!")
end

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

ただし、これが機能していない場合は、 問題を提出します.

他のヒント

おそらく、しかし、私は個人的には、専門的な仕事をする唯一の方法はネイティブOSを使用することだと思います。そうすれば、あなたはあなたがしなければならないことの中で最も力を持っています

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top