本文整理汇总了C#中Env.AddExtension方法的典型用法代码示例。如果您正苦于以下问题:C# Env.AddExtension方法的具体用法?C# Env.AddExtension怎么用?C# Env.AddExtension使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Env
的用法示例。
在下文中一共展示了Env.AddExtension方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Evaluate
public override Node Evaluate(Env env)
{
NodeList<Element> evaldElements = new NodeList<Element>();
foreach (Element element in Elements)
{
if (element.NodeValue is Extend)
{
env.AddExtension(this, (Extend)(((Extend)element.NodeValue).Evaluate(env)),env);
}
else
{
evaldElements.Add(element.Evaluate(env) as Element);
}
}
return new Selector(evaldElements).ReducedFrom<Selector>(this);
}
示例2: Evaluate
public override Node Evaluate(Env env)
{
NodeList<Element> evaldElements = new NodeList<Element>();
foreach (Element element in Elements)
{
if (element.NodeValue is Extend)
{
if (env.MediaPath.Any())
{
env.MediaPath.Peek().AddExtension(this, (Extend)(((Extend)element.NodeValue).Evaluate(env)),env);
}
else //Global extend
{
env.AddExtension(this, (Extend)(((Extend)element.NodeValue).Evaluate(env)), env);
}
}
else
{
evaldElements.Add(element.Evaluate(env) as Element);
}
}
var evaluatedSelector = new Selector(evaldElements).ReducedFrom<Selector>(this);
if (evaluatedSelector.Elements.All(e => e.NodeValue == null)) {
return evaluatedSelector;
}
parser.Tokenizer.SetupInput(evaluatedSelector.ToCSS(env), "");
var result = new NodeList<Selector>();
Selector selector;
while (selector = parsers.Selector(parser)) {
selector.IsReference = IsReference;
result.Add(selector.Evaluate(env) as Selector);
if (!parser.Tokenizer.Match(',')) {
break;
}
}
return result;
}