本文整理汇总了C#中Env.GetFunction方法的典型用法代码示例。如果您正苦于以下问题:C# Env.GetFunction方法的具体用法?C# Env.GetFunction怎么用?C# Env.GetFunction使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Env
的用法示例。
在下文中一共展示了Env.GetFunction方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Evaluate
public override Node Evaluate(Env env)
{
if (env == null)
{
throw new ArgumentNullException("env");
}
var args = Arguments.Select(a => a.Evaluate(env));
var function = env.GetFunction(Name);
if (function != null)
{
function.Name = Name;
function.Location = Location;
return function.Call(env, args).ReducedFrom<Node>(this);
}
env.Output.Push();
env.Output
.Append(Name)
.Append("(")
.AppendMany(args, env.Compress ? "," : ", ")
.Append(")");
var css = env.Output.Pop();
return new TextNode(css.ToString()).ReducedFrom<Node>(this);
}
示例2: Evaluate
public override Node Evaluate(Env env)
{
var args = Arguments.Select(a => a.Evaluate(env));
if (env != null)
{
var function = env.GetFunction(Name);
if (function != null)
{
function.Name = Name;
function.Index = Index;
return function.Call(env, args);
}
}
env.Output.Push();
env.Output
.Append(Name)
.Append("(")
.AppendMany(Arguments.Select(a => a.Evaluate(env)), ", ")
.Append(")");
var css = env.Output.Pop();
return new TextNode(css.ToString());
}
示例3: Evaluate
public override Node Evaluate(Env env)
{
var args = Arguments.SelectList(a => a.Evaluate(env));
if (env != null)
{
var function = env.GetFunction(Name);
if (function != null)
{
function.Name = Name;
function.Index = Index;
return function.Call(env, args);
}
}
return new TextNode(Name + "(" + Arguments.Select(a => a.Evaluate(env).ToCSS(env)).JoinStrings(", ") + ")");
}