Beispiel #1
0
        /// <summary>
        /// Return the HashCode of this object.
        /// </summary>
        /// <returns>The HashCode of this object.</returns>
        public override Int32 GetHashCode()
        {
            unchecked
            {
                return(Value.GetHashCode() * 23 ^

                       (Context.HasValue
                            ? Context.GetHashCode() * 19
                            : 0) ^

                       (Format.HasValue
                            ? Format.GetHashCode() * 17
                            : 0) ^

                       (Measurand.HasValue
                            ? Measurand.GetHashCode() * 13
                            : 0) ^

                       (Phase.HasValue
                            ? Phase.GetHashCode() * 11
                            : 0) ^

                       (Location.HasValue
                            ? Location.GetHashCode() * 7
                            : 0) ^

                       (Unit.HasValue
                            ? Unit.GetHashCode() * 5
                            : 0));
            }
        }
Beispiel #2
0
 /// <summary>
 /// Преобразует строку с размерностью в размерность определенного типа
 /// </summary>
 /// <param name="src">Строка, которую необходимо преобразовать</param>
 /// <param name="measurand">Измеряемая величина, которая измеряется в единицах, представленных в src</param>
 /// <returns></returns>
 public static Dimension Convert(string src, Measurand measurand)
 {
     foreach (Dimension dm in AllDimensions[measurand].Values)
     {
         if (src == dm.Text)
         {
             return(dm);
         }
     }
     throw new ArgumentException("Невозможно строку \"" + src + "\" преобразовать в размерность");
 }
Beispiel #3
0
 /// <summary>
 /// Представляет размерность
 /// </summary>
 /// <param name="measurand">Измеряемая величина</param>
 /// <param name="id">Уникальный идентификатор</param>
 /// <param name="value">Строковое представление</param>
 public Dimension(Measurand measurand, int id, string value)
 {
     this.measurand = measurand;
     this.Id        = id;
     this.Text      = value;
 }
Beispiel #4
0
 public MeterValueValue()
 {
     this.contextField = ReadingContext.SamplePeriodic;
     this.formatField = ValueFormat.Raw;
     this.measurandField = Measurand.EnergyActiveImportRegister;
     this.locationField = Location.Outlet;
     this.unitField = UnitOfMeasure.Wh;
 }