本文整理汇总了C#中System.Collections.Stack.FirstOrDefault方法的典型用法代码示例。如果您正苦于以下问题:C# Stack.FirstOrDefault方法的具体用法?C# Stack.FirstOrDefault怎么用?C# Stack.FirstOrDefault使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Collections.Stack
的用法示例。
在下文中一共展示了Stack.FirstOrDefault方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ParseResouceDefinition
private Resource ParseResouceDefinition(Stack<IFileProvider> providers, XElement elem)
{
var source = this.GetAttributeValue(elem, "path");
IFileProvider resourceProvider;
Uri sourceUri;
if (Uri.TryCreate(source, UriKind.Absolute, out sourceUri) && sourceUri.Scheme.StartsWith("http"))
{
resourceProvider = new HttpFileProvider();
}
else
{
resourceProvider = providers.FirstOrDefault(p => p.FileExists(source));
if (resourceProvider == null)
throw new FileNotFoundException("Resource not found: " + source);
}
XAttribute outputAttr = elem.Attribute("output");
string output;
if (outputAttr != null)
output = outputAttr.Value;
else
output = '\'' + Path.GetFileName(source) + '\'';
List<ResourceTransform> transforms = new List<ResourceTransform>();
foreach (XElement transform in elem.Elements("transform"))
{
string transformName = this.GetAttributeValue(transform, "name");
var transformParams = transform.Elements("with-param")
.Select(p => new ExpressionXPathVariable(this.GetAttributeValue(p, "name"),
this.GetAttributeValue(p, "select")));
transforms.Add(new ResourceTransform(transformName, transformParams));
}
var resource = new Resource(this.GetAttributeValueOrDefault(elem, "condition"),
this.ParseVariables(elem).ToArray(),
resourceProvider,
source,
output,
transforms.ToArray());
return resource;
}