예제 #1
0
        /// <summary>
        /// Attempts to return the setting's value as an array of integers.
        /// </summary>
        /// <returns>An integer array representation of the value</returns>
        public int[] GetValueAsIntArray()
        {
            var parts = RawValue.Split(',');

            var valueParts = new int[parts.Length];

            for (int i = 0; i < parts.Length; i++)
            {
                valueParts[i] = int.Parse(parts[i], CultureInfo.InvariantCulture.NumberFormat);
            }

            return(valueParts);
        }
예제 #2
0
        /// <summary>
        /// Attempts to return the setting's value as an array of bools.
        /// </summary>
        /// <returns>An bool array representation of the value</returns>
        public bool[] GetValueAsBoolArray()
        {
            var parts = RawValue.Split(',');

            var valueParts = new bool[parts.Length];

            for (int i = 0; i < parts.Length; i++)
            {
                valueParts[i] = bool.Parse(parts[i]);
            }

            return(valueParts);
        }
예제 #3
0
        /// <summary>
        /// Get array Value as T[]
        /// </summary>
        /// <typeparam name="T">array value type</typeparam>
        /// <returns></returns>
        public T[] GetValuesAs <T>()
        {
            var parts = RawValue.Split(',');

            var valueParts = new T[parts.Length];

            for (int i = 0; i < parts.Length; i++)
            {
                valueParts[i] = (T)Convert.ChangeType(parts[i], typeof(T));
            }

            return(valueParts);
        }
예제 #4
0
파일: Setting.cs 프로젝트: bradleat/trafps
        /// <summary>
        /// Attempts to return the setting's value as an array of floats.
        /// </summary>
        /// <returns>An float array representation of the value</returns>
        public float[] GetValueAsFloatArray()
        {
            string[] parts = RawValue.Split(',');

            float[] valueParts = new float[parts.Length];

            for (int i = 0; i < parts.Length; i++)
            {
                valueParts[i] = float.Parse(parts[i]);
            }

            return(valueParts);
        }
예제 #5
0
파일: Setting.cs 프로젝트: bradleat/trafps
        /// <summary>
        /// Attempts to return the setting's value as an array of integers.
        /// </summary>
        /// <returns>An integer array representation of the value</returns>
        public int[] GetValueAsIntArray()
        {
            string[] parts = RawValue.Split(',');

            int[] valueParts = new int[parts.Length];

            for (int i = 0; i < parts.Length; i++)
            {
                valueParts[i] = int.Parse(parts[i]);
            }

            return(valueParts);
        }
예제 #6
0
        /// <summary>
        /// Attempts to return the setting's value as an array of floats.
        /// </summary>
        /// <returns>An float array representation of the value</returns>
        public float[] GetValueAsFloatArray()
        {
            string[] parts = RawValue.Split(',');

            float[] valueParts = new float[parts.Length];

            for (int i = 0; i < parts.Length; i++)
            {
                valueParts[i] = float.Parse(parts[i], CultureInfo.InvariantCulture.NumberFormat);
            }

            return(valueParts);
        }
예제 #7
0
        /// <summary>
        /// Attempts to return the setting's value as a float.
        /// </summary>
        /// <returns>A float representation of the value</returns>
        public float GetValueAsFloat()
        {
            // check whether it's a fraction
            if (RawValue.Contains("/"))
            {
                string[] parts = RawValue.Split('/');

                float numerator   = float.Parse(parts[0], CultureInfo.InvariantCulture.NumberFormat);
                float denominator = float.Parse(parts[1], CultureInfo.InvariantCulture.NumberFormat);
                return(numerator / denominator);
            }

            return(float.Parse(RawValue, CultureInfo.InvariantCulture.NumberFormat));
        }
예제 #8
0
        private List <StatisticValue <T> > CreateStatisticValueList()
        {
            if (string.IsNullOrEmpty(RawValue))
            {
                return(new List <StatisticValue <T> >());
            }

            string[] rawValues = RawValue.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
            List <StatisticValue <T> > values = new List <StatisticValue <T> >();

            // raw values are time DESC ordered, afterwards the list will be time ASC ordered
            for (int i = rawValues.Length - 1; i >= 0; i--)
            {
                StatisticValue <T> statisticValue = new StatisticValue <T>();
                // first item of the raw values (newest value) will use TimeOfCreation as is
                statisticValue.Time = TimeOfCreation.Subtract(new TimeSpan(0, 0, i * Grid));
                // use the constructor for parsing a string into the target value
                statisticValue.Value = (T)Activator.CreateInstance(typeof(T), new[] { rawValues[i] });
                values.Add(statisticValue);
            }
            return(values);
        }