文字列変数からコードを実行することは可能ですか?
文字列mystring = "Console.WriteLine(\" Hi \ ");"; mystringの内容を実行することは可能ですか( 'Hi'を印刷しますか?C#変数コードを実行
2
A
答えて
1
はい。実行時にコンパイラを起動し、コードを渡します。実行可能コードが吐き出されます。 System.CodeDom
名前空間、特にSystem.CodeDom.Compiler
を参照してください。
1
はそれがSystem.Reflection.EmitまたはSystem.CodeDom名前空間を使用することも可能だが、それは名前空間が何であるかを制御するメカニズムがありませんと正確にはお勧めできませんし、許可されていないCode DOM
4
を使用してください。ユーザーはハードドライブを拭くための文字列を作成することができます。
eval()のような関数は、大きな穴があいているセキュリティホールであり、避けるべきです。好ましい選択肢はDSL (domain specific language)です。
1
このようなものを取得するには、反射を使用する必要があります。 C#が動的またはインタプリタ言語ではありませんので、あなたは、箱から出して、このような質問で
関連する問題
- 1. C#コードでサービスファブリックコマンドレットを実行
- 2. メイクボタンホールド変数とサイクルの実行コード
- 3. Cコードで実行可能な実行
- 4. CコードをC#から実行する
- 5. PythonのCコードを実行して変数値を聞きます
- 6. Androidが変数を変更したときにコードを実行
- 7. Javaコードから実行中のC変数の値を読み取る
- 8. C#コード行の一部を変数に変更する
- 9. 同じコードで同じコードを同じコードで実行するC#関数
- 10. C++コードの出力実行可能ファイル名を変更
- 11. ASP.NET WebサイトでC#関数/コードを実行できますか?
- 12. 実行時にC#コード拡張をコンパイル
- 13. C#でRコードを実行する
- 14. C#他のスレッドでコードを実行
- 15. VimでF5キーでCコードを実行
- 16. C#、ASP.NET 3.5 - 実行時にコードをロード
- 17. ブートローダープログラムからCコードを実行
- 18. NUnitからC++コードを実行する
- 19. WiXで任意のC#コードを実行
- 20. C#から変数を含む複数のPowershellコマンドを実行
- 21. C++コードから実行可能なjarファイルを実行する
- 22. PhpStormコード化実行引数
- 23. c/C++コードからLinuxユーザーの実行時間を変更する
- 24. C#プログラムを実行し、実行後に環境変数を取得する
- 25. C++関数Sleep()はコードの前に実行します
- 26. RubyのPythonコードを変数で実行しています
- 27. Arduino、コード実行中に変数の値を失う
- 28. Inno Setup:[コード]から[実行]に変数を渡す方法
- 29. 私はコードを実行すると変数 'クレジット'の値が
- 30. Pythonコードを使用してPythonコードをローカル変数で実行する
をそれを得ることが明確に共通ではありませんので、それはあなたがこの動作をしたい理由を説明することをお勧めしますいけません。そうすることで、達成しようとしているより具体的な行動を生み出すより洗練されたソリューションを提案する可能性があります。 –
実際、これにも私は答えが大好きです。私は、C#のリフレクションなどを使ってPythonのプロンプトスタイルを書くことについてしばらく考えてきました。私はいくつか存在することを知っていますが、すでに書かれているものを使うことは、実際には素晴らしい学習の練習ではありません。私のアプリケーションで.net以外のライブラリを使用することを拒否する理由の1つです。 – dotalchemy