コード例 #1
0
        /// <summary>
        /// Conversion of physical units
        /// </summary>
        /// <param name="alias">Alias</param>
        /// <param name="source">Source</param>
        /// <param name="target">Target</param>
        /// <returns>Conversion result</returns>
        public static Dictionary <string, double> ConvertPhysicalUnits
            (this IAlias alias, BaseTypes.Attributes.PhysicalUnitTypeAttribute source,
            BaseTypes.Attributes.PhysicalUnitTypeAttribute target)
        {
            Dictionary <string, double> d = new Dictionary <string, double>();

            BaseTypes.Interfaces.IPhysicalUnitAlias a = alias as
                                                        BaseTypes.Interfaces.IPhysicalUnitAlias;
            IList <string> l = alias.AliasNames;

            foreach (string key in l)
            {
                if (!l.Contains(key))
                {
                    continue;
                }
                object t = alias.GetType(key);
                if (!t.Equals(BaseTypes.FixedTypes.Double))
                {
                    continue;
                }
                double x = (double)alias[key];
                Dictionary <Type, int> dt = a[key];
                if (dt != null)
                {
                    x *=
                        BaseTypes.StaticExtensionBaseTypes.Coefficient(source,
                                                                       target, dt);
                }
                d[key] = x;
            }
            return(d);
        }
コード例 #2
0
        /// <summary>
        /// Conversion of physical units
        /// </summary>
        /// <param name="alias">Alias</param>
        /// <param name="source">Source</param>
        /// <param name="target">Target</param>
        public static void ConvertPhysicalUnitsAlias
            (this IAlias alias, BaseTypes.Attributes.PhysicalUnitTypeAttribute source,
            BaseTypes.Attributes.PhysicalUnitTypeAttribute target)
        {
            Dictionary <string, double> d = ConvertPhysicalUnits(alias, source, target);

            foreach (string key in d.Keys)
            {
                alias[key] = d[key];
            }
        }