/// <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); } }
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); }
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; }
protected virtual void OnParseValue(ParseValueEventArgs <TContext> e) { ParseValue?.Invoke(this, e); }
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)),