1

我在我的 C# 程序中设置了一个动态脚本(使用 CSScriptLibrary),如下所示:

string sqlReturnValue= cmd.ExecuteQuery();;
dynamic script = CSScript.Evaluator
                         .LoadCode(@"using System;
                                     public class Script
                                     {
                                        string GetValue()
                                            {
                                                return " + sqlReturnValue + @";
                                            }
                                    }");
                    output = script.GetValue();

sqlReturnValue 是我从类似于此的 SQL 查询中返回的字符串:

"Salaried Grade 1".Substring(0, 7) == "Salaried") ? "CLA_SH_S" : "CLA_SH_H";

当我尝试执行此操作时,动态代码给了我"Unexpected symbol )', expecting ;'"&"Unexpected symbol :', expecting ;'"

如何编写此动态脚本以正确评估三元?

4

1 回答 1

1

如果有人觉得这很有用,我可以按如下方式进行操作:

string sqlReturnValue = cmd.ExecuteQuery();

// Use CSScript to evaluate the test string returned from the SQL Query
var Product = CSScript.Evaluator
                      .CreateDelegate(@"string Product()
                                        {
                                             return " + sqlReturnValue + @";
                                        }");

output = (string)Product();
于 2013-08-27T15:12:27.137 回答