Example #1
0
        /// <summary>
        /// 获取配置文件appSettings集合中指定索引的值
        /// </summary>
        /// <typeparam name="T">返回值类型参数</typeparam>
        /// <param name="key">索引键</param>
        /// <param name="parseValue">将指定索引键的值转化为返回类型的值的委托方法</param>
        /// <param name="defaultValue">默认值</param>
        /// <returns></returns>
        private static T getValue <T>(string key, ParseValue <T> parseValue, T?defaultValue) where T : struct
        {
            string value = appSettings[key];

            if (value != null)
            {
                T parsedValue = default(T);

                if (parseValue(value, out parsedValue))
                {
                    return(parsedValue);
                }
                else
                {
                    throw new ApplicationException(string.Format("Setting '{0}' was not a valid {1}", key, typeof(T).FullName));
                }
            }

            if (!defaultValue.HasValue)
            {
                throw new ApplicationException("在配置文件的appSettings节点集合中找不到key为" + key + "的子节点,且没有指定默认值");
            }
            else
            {
                return(defaultValue.Value);
            }
        }
Example #2
0
        public static T GetAppSetting <T>(string key, T defaultVal, ParseValue <T> parse)
            where T : struct
        {
            if (ConfigurationManager.AppSettings.AllKeys.Contains(key))
            {
                T val;
                if (parse(ConfigurationManager.AppSettings[key], out val))
                {
                    return(val);
                }
            }

            return(defaultVal);
        }
Example #3
0
 public EditWindow(object o, ParseValue parseProc, WValueList wValueList,
                   FieldInfo fieldInfo = null, PropertyInfo propertyInfo = null) : base()
 {
     if ((fieldInfo == null) && (propertyInfo == null))
     {
         NoUse  = true;
         IsShow = false;
         return;
     }
     if (parseProc == null)
     {
         NoUse  = true;
         IsShow = false;
         return;
     }
     this.o            = o;
     this.wValueList   = wValueList;
     this.fieldInfo    = fieldInfo;
     this.propertyInfo = propertyInfo;
     parseValue        = parseProc;
 }
Example #4
0
 protected virtual void OnParseValue(ParseValueEventArgs <TContext> e)
 {
     ParseValue?.Invoke(this, e);
 }
Example #5
0
 protected void invokeEvent(TokenType tokenType, string name, string value)
 {
     ParseValue?.Invoke(this, new ParseValueArgs(tokenType, name, value));
 }
 JmpInstruction.Code => new JmpInstruction(ParseValue(instruction)),
 AccInstruction.Code => new AccInstruction(ParseValue(instruction)),