Пример #1
0
        private static void SetBoolParameter(EnvParams prms, EnvParamKind prm, object value)
        {
            if (!(value is bool))
            {
                throw new BadEnvParamException(
                          string.Format(
                              "Bad environment parameter; {0} must have type bool",
                              prm));
            }

            prms.settings[prm] = value;
        }
Пример #2
0
        public static bool GetBoolParameter(EnvParams prms, EnvParamKind prm)
        {
            Contract.Requires(GetParameterType(prm).Equals(typeof(bool)));
            object val;

            if (prms != null && prms.settings.TryGetValue(prm, out val))
            {
                return((bool)val);
            }

            return((bool)parameters[prm].Item3);
        }
Пример #3
0
        private static void SetReferencePrintKindParameter(EnvParams prms, EnvParamKind prm, object value)
        {
            if (!(value is ReferencePrintKind))
            {
                throw new BadEnvParamException(
                          string.Format(
                              "Bad environment parameter; {0} must have type {1}",
                              prm,
                              typeof(ReferencePrintKind).Name));
            }

            prms.settings[prm] = value;
        }
Пример #4
0
        /// <summary>
        /// Returns a new set of parameters with same parameters as prms, but with kind = value.
        /// If prms is null, then all parameters start with their default values.
        /// </summary>
        public static EnvParams SetParameter(EnvParams prms, EnvParamKind kind, object value)
        {
            var clone = new EnvParams();

            if (prms != null)
            {
                foreach (var kv in prms.settings)
                {
                    clone.settings[kv.Key] = kv.Value;
                }
            }

            EnvParams.parameters[kind].Item4(clone, kind, value);
            return(clone);
        }
Пример #5
0
        public static ReferencePrintKind GetReferencePrintKindParameter(EnvParams prms, EnvParamKind prm)
        {
            Contract.Requires(GetParameterType(prm).Equals(typeof(ReferencePrintKind)));
            object val;

            if (prms != null && prms.settings.TryGetValue(prm, out val))
            {
                return((ReferencePrintKind)val);
            }

            return((ReferencePrintKind)parameters[prm].Item3);
        }
Пример #6
0
 public static string GetParameterDescr(EnvParamKind prm)
 {
     return(parameters[prm].Item2);
 }
Пример #7
0
 public static Type GetParameterType(EnvParamKind prm)
 {
     return(parameters[prm].Item1);
 }