本文整理汇总了C#中Options.Clock方法的典型用法代码示例。如果您正苦于以下问题:C# Options.Clock方法的具体用法?C# Options.Clock怎么用?C# Options.Clock使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Options
的用法示例。
在下文中一共展示了Options.Clock方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Handle
public virtual Span Handle(IList<Token> tokens, Options options)
{
var now = options.Clock();
var span = new Span(now, now.AddSeconds(1));
var grabberTokens = tokens
.SkipWhile(token => token.IsNotTaggedAs<Grabber>())
.ToList();
if (grabberTokens.Any())
{
span = grabberTokens.GetAnchor(options);
}
var scalarRepeaters = tokens
.TakeWhile(token => token.IsNotTaggedAs<Pointer>())
.Where(token => token.IsNotTaggedAs<SeparatorComma>())
.ToList();
var pointer = tokens.First(token => token.IsTaggedAs<Pointer>());
for (var index = 0; index < scalarRepeaters.Count - 1; index++)
{
var scalar = scalarRepeaters[index];
var repeater = scalarRepeaters[++index];
span = Handle(new List<Token>{ scalar, repeater, pointer}, span, options);
}
return span;
}
示例2: HandleMD
public static Span HandleMD(IRepeater month, int day,
IList<Token> timeTokens, Options options)
{
month.Now = options.Clock();
var span = month.GetCurrentSpan(options.Context);
var date = span.Start.Value;
var dayStart = Time.New(date.Year, date.Month, day);
return Utils.DayOrTime(dayStart, timeTokens, options);
}
示例3: Handle
public Span Handle(IList<Token> tokens, Options options)
{
var month = tokens[1].GetTag<RepeaterMonthName>();
var day = tokens[2].GetTag<ScalarDay>().Value;
var year = options.Clock().Year;
if (Time.IsMonthOverflow(year, (int) month.Value, day))
{
return null;
}
try
{
var start = Time.New(year, (int) month.Value, day);
var end = start.AddDays(1);
return new Span(start, end);
}
catch (ArgumentException)
{
return null;
}
}
示例4: Handle
public Span Handle(IList<Token> tokens, Options options)
{
IRepeater month = null;
var day = 0;
IList<Token> remainingTokens = null;
if (tokens.Count > 3)
{
month = tokens[2].GetTag<RepeaterMonthName>();
day = tokens[3].GetTag<OrdinalDay>().Value;
remainingTokens = tokens.Take(2).ToList();
}
else
{
month = tokens[1].GetTag<RepeaterMonthName>();
day = tokens[2].GetTag<OrdinalDay>().Value;
remainingTokens = tokens.Take(1).ToList();
}
if (Time.IsMonthOverflow(options.Clock().Year, (int)month.RawValue, day))
{
return null;
}
return Utils.HandleMD(month, day, remainingTokens, options);
}
示例5: Handle
public virtual Span Handle(IList<Token> tokens, Options options)
{
var now = options.Clock();
var span = new Span(now, now.AddSeconds(1));
return Handle(tokens, span, options);
}