本文整理汇总了C#中ScriptEngine.TypeFunction方法的典型用法代码示例。如果您正苦于以下问题:C# ScriptEngine.TypeFunction方法的具体用法?C# ScriptEngine.TypeFunction怎么用?C# ScriptEngine.TypeFunction使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ScriptEngine
的用法示例。
在下文中一共展示了ScriptEngine.TypeFunction方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: TypeFunctionStringArrayJoinOverload
public void TypeFunctionStringArrayJoinOverload()
{
var script = new ScriptEngine();
script.TypeFunction<List<string>, string>("join", (list) =>
{
return string.Join(",", list.ToArray());
});
script.TypeFunction<List<string>, string, string>("join", (list, separator) =>
{
return string.Join(separator, list.ToArray());
});
var code = new StringBuilder();
code.AppendLine("string[] foo = ['foo', 'bar']");
code.AppendLine("foo.join('-')");
Assert.AreEqual("foo-bar", script.Evaluate<string>(code.ToString()));
}
示例2: RegexParameterIgnoreCase
public void RegexParameterIgnoreCase()
{
var script = new ScriptEngine();
script.TypeFunction<string, Regex, List<string>>("match", (value, regex) =>
{
Match m = regex.Match(value);
if (m.Success)
{
return new List<string>() { m.Value };
}
else
{
return new List<string>();
}
});
var val = script.Evaluate<List<string>>("'fooTestfoo'.match(/test/i)");
Assert.AreEqual(1, val.Count);
Assert.AreEqual("Test", val[0]);
}