本文整理汇总了C#中Root.Copy方法的典型用法代码示例。如果您正苦于以下问题:C# Root.Copy方法的具体用法?C# Root.Copy怎么用?C# Root.Copy使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Root
的用法示例。
在下文中一共展示了Root.Copy方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Parse
public Ruleset Parse(string input, string fileName)
{
var cacheKey = input.GetHashCode() ^ fileName.GetHashCode();
Ruleset cached;
if (!NoCache && Cached.TryGetValue(cacheKey, out cached))
{
var ret = (Ruleset)cached.Copy();
return ret;
}
Tokenizer.SetupInput(input);
ParsingException parsingException = null;
Ruleset root = null;
try
{
Tokenizer.SetupInput(input);
var parsers = new Parsers(new DefaultNodeProvider());
root = new Root(parsers.Primary(this), e => GenerateParserError(e, fileName));
}
catch (ParsingException e)
{
parsingException = e;
}
if (Tokenizer.HasCompletedParsing() && parsingException == null)
{
Cached.TryAdd(cacheKey, root);
var ret = (Ruleset)root.Copy();
return ret;
}
throw GenerateParserError(parsingException, fileName);
}