本文整理汇总了C#中IRunner.GetVariable方法的典型用法代码示例。如果您正苦于以下问题:C# IRunner.GetVariable方法的具体用法?C# IRunner.GetVariable怎么用?C# IRunner.GetVariable使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IRunner
的用法示例。
在下文中一共展示了IRunner.GetVariable方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ReplaceVariables
private static string ReplaceVariables(string code, IRunner runner)
{
Regex r = new Regex("%.*?%");
MatchCollection matches = r.Matches(code);
foreach (Match m in matches)
{
Variable v = runner.GetVariable(m.Value.Replace("%", ""));
if (v != null)
{
switch (v.Type)
{
case DataType.Number:
code = code.Replace(m.Value, (v.Value as double?).ToString());
break;
case DataType.String:
code = code.Replace(m.Value, "\"" + v.Value + "\"");
break;
default:
code = code.Replace(m.Value, v.Value.ToString());
break;
}
}
else
{
throw new Exception("Unable to find variable " + m.Value.Replace("%", "") + " set during this session.");
}
}
if (matches.Count == 0)
{
//Add double quotes if there are no variables - code evaluator needs double quotes
if (code.Contains("+") || code.Contains("-") || code.Contains("*") || code.Contains("/") ||
code.Contains("."))
{
return code;
}
code = "\"" + code + "\"";
}
return code;
}