下载地址:CBScript 为自己的软件增加脚本编写功能并自定义API
如示例代码:
[TestMethod()]public void Script_Args_DataTable_Select(){string script = @"COLA+COLB";DataTable table = new DataTable();table.Columns.Add("COLA");table.Columns.Add("COLB");DataRow row = table.NewRow();row["COLA"] = 20;row["COLB"] = 25;table.Rows.Add(row);row = table.NewRow();row["COLA"] = 26;row["COLB"] = 27;table.Rows.Add(row);Collections.DictionaryEx<string, object> dics = new Collections.DictionaryEx<string, object>();DataRow dataRow = table.Rows[1];dics.Clear();foreach (DataColumn column in table.Columns){dics.Add(column.ColumnName, dataRow[column]);}object value = ScriptBuilder.Exec2(null, null, script, dics);decimal target = 53;Assert.AreEqual(target, value);}
第一步:如何计算将COLA,COLB和值加到字典表
如 Collections.DictionaryEx<string, object> dics = new Collections.DictionaryEx<string, object>();
DataRow dataRow = table.Rows[1];
dics.Clear();
foreach (DataColumn column in table.Columns)
{
dics.Add(column.ColumnName, dataRow[column]);
}
这里是把DataTable的一行,都加入到字典表
第二步:将脚本和参数同时传入执行
object value = ScriptBuilder.Exec2(null, null, script, dics);
执行关键字计算的作用
1、COLA可能是我们为用户提供的关键字变量,比如 发送短信时,COLA当前的用户名,当然CLOA也可以是一个JSON或者别其他对象。
2、在自定义流程等环节可以让用户自己编写所要执行的操作。