private DateTimeFieldType(string name, DurationFieldType durationFieldType, DurationFieldType? rangeDurationFieldType, int ordinal) { this.name = name; this.durationFieldType = durationFieldType; this.rangeDurationFieldType = rangeDurationFieldType; this.ordinal = ordinal; }
/// <summary> /// Gets an instance of UnsupportedDurationField for a specific named field. /// The returned instance is cached. /// </summary> /// <param name="fieldType">The type to obtain</param> /// <returns>The instance</returns> public static UnsupportedDurationField ForFieldType(DurationFieldType fieldType) { if (!IsTypeValid(fieldType)) { throw new ArgumentOutOfRangeException("fieldType"); } return cache[(int)fieldType]; }
protected DurationField(DurationFieldType fieldType, long unitTicks, bool precise, bool supported) { if (!IsTypeValid(fieldType)) { throw new ArgumentOutOfRangeException("fieldType"); } this.fieldType = fieldType; this.unitTicks = unitTicks; this.precise = precise; this.supported = supported; }
internal ScaledDurationField(DurationField wrappedField, DurationFieldType fieldType, int scale) : base(fieldType, Preconditions.CheckNotNull(wrappedField, "wrappedField").UnitTicks * scale, wrappedField.IsPrecise, true) { if (!wrappedField.IsSupported) { throw new ArgumentException("Wrapped field must be supported", "wrappedField"); } if (scale == 0 || scale == 1) { throw new ArgumentOutOfRangeException("scale", "The scale must not be 0 or 1"); } this.scale = scale; this.wrappedField = wrappedField; }
/// <summary> /// Creates a new instance combining the specified type and value. /// </summary> /// <param name="fieldType">The field type represented by this component of a period.</param> /// <param name="value">The value of the field within the period.</param> public DurationFieldValue(DurationFieldType fieldType, long value) { this.fieldType = fieldType; this.value = value; }
internal ImpreciseDurationField(DurationFieldType fieldType, long averageUnitTicks) : base(fieldType, averageUnitTicks, false, true) { }
private UnsupportedDurationField(DurationFieldType fieldType) : base(fieldType, 0, true, false) { }
internal static bool IsTypeValid(DurationFieldType type) { return type >= 0 && type <= DurationFieldType.Ticks; }
private DurationField GetField(DurationFieldType fieldType) { switch (fieldType) { case DurationFieldType.Eras: return Fields.Eras; case DurationFieldType.Centuries: return Fields.Centuries; case DurationFieldType.WeekYears: return Fields.WeekYears; case DurationFieldType.Years: return Fields.Years; case DurationFieldType.Months: return Fields.Months; case DurationFieldType.Weeks: return Fields.Weeks; case DurationFieldType.Days: return Fields.Days; case DurationFieldType.HalfDays: return Fields.HalfDays; case DurationFieldType.Hours: return Fields.Hours; case DurationFieldType.Minutes: return Fields.Minutes; case DurationFieldType.Seconds: return Fields.Seconds; case DurationFieldType.Milliseconds: return Fields.Milliseconds; case DurationFieldType.Ticks: return Fields.Ticks; default: throw new InvalidOperationException(); } }
internal StubDurationField(DurationFieldType fieldType) : base(fieldType, 123, true, true) { }
internal MockCountingDurationField(DurationFieldType fieldType, long unitTicks) : base(fieldType, unitTicks, true, true) { this.unitTicks = unitTicks; }
internal MockCountingDurationField(DurationFieldType fieldType) : this(fieldType, 60) { }
internal PreciseDurationField(DurationFieldType type, long unitTicks) : base(type, unitTicks, true, true) { }