4

重複: C# 式を動的に評価するにはどうすればよいですか?

参照: C# eval と同等ですか?

表情の評価の仕方。たぶん次のように:

int a=1;
int b=3;
int c=Eval("a+b");

また

int c=int.parse("1+3*(2+3)");

これは私にはばかげているようです。C#で可能ですか?

4

3 に答える 3

7

コードを取得し、CSharpCodeProvider を使用して、実際にコードをメモリ内アセンブリにコンパイルし、そのコードを実行する Eval 関数を記述できます。

サンプル ソースについては、このCodeProject の記事を参照してください。

于 2009-02-11T00:17:36.200 に答える
2

直接ではありません。C# にはランタイム コンパイラは含まれていません。これを行うオープン ソース プロジェクトが Mono に付属しています。

于 2009-02-11T00:16:29.213 に答える
0

CodeDomProvider、DataBinder.Eval、DataTable.Compute、Document.InvokeScript などのさまざまな .NET フレームワーク ソリューションを含む、「C# 式を動的に評価する方法」に対するこの回答で認識しているいくつかの異なるアプローチを列挙します。

于 2018-10-07T05:54:19.307 に答える