質問: c#でWinFormアプリを作っています。 このアプリをスクリプトで操作できるようにしたいと考えています。 例えばjavascriptでコードを入力して実行すると「フォームのボタンbuttonAを押すことができる」などです。 ``` pushButton("buttonA"); ``` テキストフォームtextBoxAに文字を入力するには ``` inputText("abc", "textBoxA"); ``` このようなことは可能なのでしょうか? いろいろな市販アプリケーションがスクリプトで操作できるものがあります。 例えばphotoshopもjavascriptで操作できます。 ライセンス問題もあるかと思いますが、もし可能な場合はそもそもどのようにc#アプリに実装すればよいのでしょうか? どうぞよろしくお願い致します。 開発環境 Windows10 Home Visual Studio 2015 C# .NetFramework4.5
回答: 遅レスですが、C# 6より、C#のコンパイラが"Roslyn"という共通のコンパイラエンジンとして公開されました。これを使うと、自分で作る任意のアプリケーション内に、C#のスクリプトを実行可能な機能を追加することが出来ます。 参考にどうぞ: 真・Roslyn for Scripting! あなたのアプリケーションにもC#スクリプトを!! > > 自分で書いた何らかのアプリケーションに、スクリプティング機能を載せたいと思ったことはありませんか? 例えば、何らかのゲームを作っているとして、このゲームにC#のスクリプティング機能を搭載出来たら、アドベンチャーゲームやロールプレイングゲームのシナリオ進行、シミュレーションゲームの敵AI調整に C# のスクリプトが使えるようになるのです。ゲームの世界ではluaやpython辺りをよく聞きますね。でも、本体をC#で書いているなら、スクリプトもC#で書きたいものです。 > > > 別の例として、Officeを挙げます。Officeには「Visual Basic for Application」という、VBチックなスクリプト環境があります。が、VBA、書きたくないです... VBAは徐々にフェードアウトの方向になっていると思いますが、代わりにC#でスクリプトが書けたら、もうちょっとOfficeに前向きになりそうです(Excel向けであれば、商用プラグインが既にあります:FCell)。MicrosoftはOfficeでC#を使えるようにするか? は、まだまだ分かりませんが、Roslynが公開されたことで、その可能性は高くなったと思います。 > > >