示例#1
0
 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];
 }
示例#3
0
 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)
 {
 }
示例#8
0
 internal static bool IsTypeValid(DurationFieldType type)
 {
     return type >= 0 && type <= DurationFieldType.Ticks;
 }
示例#9
0
 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();
     }
 }
示例#10
0
 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)
 {
 }