答えて
C#は解釈されないので、javascriptや他のインタープリター言語とは異なり、ネイティブで行うことはできません。ここでは、最も複雑なものから順に、4つの基本的なルートに進むことができます。
1)ユーザーが適用できる固定された操作のセットを提供します。ユーザーの入力を解析するか、チェックボックスなどのUI要素を指定して、特定の操作を適用する必要があることを示します。
2)プラグインベースまたは動的に定義された操作のセットを提供します。 #1と同様に、完全な信頼のような特別な権限を必要としないという利点があります。 http://mef.codeplex.com/
3)paxScript:http://eco148-88394.innterhost.net/paxscriptnet/のような動的なC#コンパイルフレームワークを使用してください。これは、理論的には、必要に応じて小さなC#スニペットをコンパイルできるようにします。
4)IL Emit文を使用してコードを解析し、その場で操作を生成します。これははるかに複雑なソリューションであり、完全な信頼を必要とする可能性が高く、非常にエラーが発生しやすいです。非常にわかりにくい要件や洗練されたユーザーがいない限り、私はそれをお勧めしません。
CSharpCodeProviderクラスは、あなたが望むことをします。ある(非常に古くなっていますが、いくつかの調整を行っていますが)その使用例については、CSIをご覧ください。
Monoランタイムを対象としたい場合は、Mono.CSharp.Evaluator型には、実行時にC#の式とステートメントを評価するためのAPIが用意されています。
それは文字列操作を管理しますか? –
@Kirk - はい、かなりフル機能ですが、このAPIに基づいたC#のインタラクティブシェルをチェックすることで、解析、コンパイル、実行できるすべての表現を知ることができます:http ://www.mono-project.com/CsharpRepl(実際に.NET開発を行っていても、私はMonoをインタラクティブなシェルでインストールしているので、探検的なプログラミングができます)。 –
結局のところ、私はIron Pythonに注目しています。
- 1. 理解kivyコードスニペット
- 2. 解釈()
- 3. 解釈
- 4. 解釈
- 5. プルパーサーエラーメッセージの解釈
- 6. ウェブキットレイアウトテストの解釈
- 7. バイナリファイルの解釈
- 8. アンドロイドコールスタックの解釈
- 9. テンターボードプロットの解釈
- 10. ハスケルオペレータの解釈
- 11. このコードスニペットの理解に役立つ
- 12. iOSクラッシュログの解釈
- 13. デシジョンツリーの解釈(タイタニックデータ)
- 14. DecisionTreeRegressorスコアの解釈?
- 15. Jmeterグラフの解釈
- 16. ジャンプテーブル/ブランチテーブルの解釈
- 17. Golangの解釈エラーコード
- 18. .wavサンプルの解釈
- 19. 解釈バックトレースのエラーメッセージ
- 20. 文字の解釈
- 21. センサ値の解釈
- 22. LOLCODE 1.4の解釈
- 23. LibSVMモデルの解釈
- 24. gfortranエラートレースバックの解釈
- 25. Unixコマンドの解釈
- 26. ダイナミックな解釈
- 27. 尖度解釈
- 28. 再解釈が
- 29. LDA解釈
- 30. 解釈し
。最高の解決策は、あまりにも難しくない、自分の簡単なスクリプト言語を書くことです。または..埋め込まれたVBScriptを検討します –