/// <summary> /// 获取指定功效类型的值,并且当指定的功效类型数据不存在时返回一个无数值的 RatesEfficacyPhaseValue 对象。 /// </summary> /// <param name="efficacy">功效类型。</param> /// <param name="phase">相位。</param> /// <returns>该方法始终返回 RatesEfficacyPhaseValue 实例,不会返回 null。</returns> public RatesEfficacyPhaseValue GetValue(EfficacyOptions efficacy, PhaseOptions phase) { foreach (RatesEfficacyPhaseValue value in this) { if (value.Efficacy == efficacy && value.Phase == phase) { return(value); } } return(new RatesEfficacyPhaseValue(efficacy, phase)); }
/// <summary> /// 获取指定功效类型的值,并且当指定的功效类型数据不存在时返回一个无数值的 EfficacyPhaseValue 对象。该方法始终返回 EfficacyPhaseValue 实例,不会返回 null。 /// </summary> /// <param name="efficacy">功效类型。</param> /// <returns></returns> public EfficacyPhaseValue GetValue(EfficacyOptions efficacy) { foreach (EfficacyPhaseValue value in this) { if (value.Efficacy == efficacy) { return(value); } } return(new EfficacyPhaseValue(efficacy)); }
/// <summary> /// 获取功效类型的文字说明。 /// </summary> /// <param name="efficacy">功效类型</param> /// <returns>功效类型的文字说明</returns> public static string GetDescription(this EfficacyOptions efficacy) { switch (efficacy) { case EfficacyOptions.ForwardActivePower: return("正向有功"); case EfficacyOptions.ReverseActivePower: return("反向有功"); case EfficacyOptions.ForwardReactivePower: return("正向无功"); case EfficacyOptions.ReverseReactivePower: return("反向无功"); case EfficacyOptions.ReactivePower1: return("第一象限无功"); case EfficacyOptions.ReactivePower2: return("第二象限无功"); case EfficacyOptions.ReactivePower3: return("第三象限无功"); case EfficacyOptions.ReactivePower4: return("第四象限无功"); case EfficacyOptions.ReactivePower14: return("一、四象限无功"); case EfficacyOptions.ReactivePower23: return("二、三象限无功"); case EfficacyOptions.ForwardApparent: return("正向视在"); case EfficacyOptions.ReverseApparent: return("反向视在"); default: throw new NotImplementedException("尚未实现该枚举。"); } }
/// <summary> /// 费率、功效类型及相位组合的值。 /// </summary> /// <param name="efficacy">该数据的功效类型。</param> /// <param name="phase">该数据的相位。</param> /// <param name="total">总费率的数据。</param> /// <param name="pike">尖费率的数据。</param> /// <param name="peak">峰费率的数据。</param> /// <param name="flat">平费率的数据。</param> /// <param name="vale">谷费率的数据。</param> public RatesEfficacyPhaseValue(EfficacyOptions efficacy, PhaseOptions phase, decimal?total, decimal?pike, decimal?peak, decimal?flat, decimal?vale) : base(efficacy, total, pike, peak, flat, vale) { this.Phase = phase; }
/// <summary> /// 费率、功效类型及相位组合的值。 /// </summary> /// <param name="efficacy">该数据的功效类型。</param> /// <param name="phase">该数据的相位。</param> public RatesEfficacyPhaseValue(EfficacyOptions efficacy, PhaseOptions phase) : base(efficacy) { this.Phase = phase; }
/// <summary> /// 功效类型及相位组合的值。 /// </summary> /// <param name="efficacy">该数据的功效类型。</param> /// <param name="total">总相的数据。</param> /// <param name="a">A相的数据。</param> /// <param name="b">B相的数据。</param> /// <param name="c">C相的数据。</param> public EfficacyPhaseValue(EfficacyOptions efficacy, decimal?total, decimal?a, decimal?b, decimal?c) : base(total, a, b, c) { this.Efficacy = efficacy; }
/// <summary> /// 功效类型及相位组合的值。 /// </summary> /// <param name="efficacy">该数据的功效类型。</param> public EfficacyPhaseValue(EfficacyOptions efficacy) { this.Efficacy = efficacy; }
/// <summary> /// 功效类型及相位组合的曲线段值。 /// </summary> /// <param name="efficacy">该数据的功效类型。</param> /// <param name="phase">曲线数据的相位。</param> /// <param name="startTimeNum">第一个点的数值所对应的时间(hhmmss)。</param> /// <param name="endTimeNum">最后一个点的数值所对应的时间(hhmmss)。</param> /// <param name="values">曲线段各点数据。</param> public EfficacyPhaseCurvePartValue(EfficacyOptions efficacy, PhaseOptions phase, int startTimeNum, int endTimeNum, decimal?[] values) : base(phase, startTimeNum, endTimeNum, values) { this.Efficacy = efficacy; }
/// <summary> /// 功效类型及相位组合的曲线值。 /// </summary> /// <param name="efficacy">该数据的功效类型。</param> /// <param name="phase">曲线数据的相位。</param> /// <param name="curvePoint">该曲线的点数。</param> public EfficacyPhaseCurveValue(EfficacyOptions efficacy, PhaseOptions phase, CurvePointOptions curvePoint) : base(phase, curvePoint) { this.Efficacy = efficacy; }
/// <summary> /// 费率、功效类型及相位组合的曲线值。 /// </summary> /// <param name="rates">该数据的费率。</param> /// <param name="efficacy">该数据的功效类型。</param> /// <param name="phase">曲线数据的相位。</param> /// <param name="values">数据数组。数据数组的长度必须符合 CurvePointOptions 中定义的长度。</param> public RatesEfficacyPhaseCurveValue(RatesOptions rates, EfficacyOptions efficacy, PhaseOptions phase, decimal?[] values) : base(efficacy, phase, values) { this.Rates = rates; }
/// <summary> /// 费率、功效类型及相位组合的曲线值。 /// </summary> /// <param name="rates">该数据的费率。</param> /// <param name="efficacy">该数据的功效类型。</param> /// <param name="phase">曲线数据的相位。</param> /// <param name="curvePoint">该曲线的点数。</param> public RatesEfficacyPhaseCurveValue(RatesOptions rates, EfficacyOptions efficacy, PhaseOptions phase, CurvePointOptions curvePoint) : base(efficacy, phase, curvePoint) { this.Rates = rates; }
/// <summary> /// 费率、功效类型及相位组合的曲线段值。 /// </summary> /// <param name="rates">该数据的费率。</param> /// <param name="efficacy">该数据的功效类型。</param> /// <param name="phase">曲线数据的相位。</param> /// <param name="startTimeNum">第一个点的数值所对应的时间(hhmmss)。</param> /// <param name="endTimeNum">最后一个点的数值所对应的时间(hhmmss)。</param> /// <param name="values">曲线段各点数据。</param> public RatesEfficacyPhaseCurvePartValue(RatesOptions rates, EfficacyOptions efficacy, PhaseOptions phase, int startTimeNum, int endTimeNum, decimal?[] values) : base(efficacy, phase, startTimeNum, endTimeNum, values) { this.Rates = rates; }
/// <summary> /// 费率、功效类型及相位组合的曲线段值。 /// </summary> /// <param name="rates">该数据的费率。</param> /// <param name="efficacy">该数据的功效类型。</param> /// <param name="phase">曲线数据的相位。</param> /// <param name="curvePoint">曲线点数,该参数为 0:00:00 至 23:59:59 完整的曲线数据点数。</param> /// <param name="startTimeNum">第一个点的数值所对应的时间(hhmmss)。</param> /// <param name="endTimeNum">最后一个点的数值所对应的时间(hhmmss)。</param> public RatesEfficacyPhaseCurvePartValue(RatesOptions rates, EfficacyOptions efficacy, PhaseOptions phase, CurvePointOptions curvePoint, int startTimeNum, int endTimeNum) : base(efficacy, phase, curvePoint, startTimeNum, endTimeNum) { this.Rates = rates; }
/// <summary> /// 功效类型及相位组合的曲线值。 /// </summary> /// <param name="efficacy">该数据的功效类型。</param> /// <param name="phase">曲线数据的相位。</param> /// <param name="values">数据数组。数据数组的长度必须符合 CurvePointOptions 中定义的长度。</param> public EfficacyPhaseCurveValue(EfficacyOptions efficacy, PhaseOptions phase, decimal?[] values) : base(phase, values) { this.Efficacy = efficacy; }
/// <summary> /// 费率及功效类型组合的值。 /// </summary> /// <param name="efficacy">该数据的功效类型。</param> public RatesEfficacyValue(EfficacyOptions efficacy) { this.Efficacy = efficacy; }
/// <summary> /// 费率及功效类型组合的值。 /// </summary> /// <param name="efficacy">该数据的功效类型。</param> /// <param name="total">总费率的数据。</param> /// <param name="pike">尖费率的数据。</param> /// <param name="peak">峰费率的数据。</param> /// <param name="flat">平费率的数据。</param> /// <param name="vale">谷费率的数据。</param> public RatesEfficacyValue(EfficacyOptions efficacy, decimal?total, decimal?pike, decimal?peak, decimal?flat, decimal?vale) : base(total, pike, peak, flat, vale) { this.Efficacy = efficacy; }
/// <summary> /// 功效类型及相位组合的曲线段值。 /// </summary> /// <param name="efficacy">该数据的功效类型。</param> /// <param name="phase">曲线数据的相位。</param> /// <param name="curvePoint">曲线点数,该参数为 0:00:00 至 23:59:59 完整的曲线数据点数。</param> /// <param name="startTimeNum">第一个点的数值所对应的时间(hhmmss)。</param> /// <param name="endTimeNum">最后一个点的数值所对应的时间(hhmmss)。</param> public EfficacyPhaseCurvePartValue(EfficacyOptions efficacy, PhaseOptions phase, CurvePointOptions curvePoint, int startTimeNum, int endTimeNum) : base(phase, curvePoint, startTimeNum, endTimeNum) { this.Efficacy = efficacy; }