/// <summary> /// Create a named instance from a <see cref="PatternConverter"/> /// </summary> /// <param name="name">conversion name</param> /// <param name="pattern">pattern string</param> public RawCallLayout(string name, PatternString pattern) { Name = name; pattern.ActivateOptions(); m_getter = (e) => pattern.Format(); }
public Object ConvertFrom(Object source) { String pattern = (String)source; PatternString patternString = new PatternString(pattern); String value = patternString.Format(); return(Int32.Parse(value)); }
/// <summary> /// Converts the given value object to the specified type, using the arguments /// </summary> /// <param name="source">the object to convert</param> /// <param name="targetType">The Type to convert the value parameter to</param> /// <returns>the converted object</returns> /// <remarks> /// <para> /// Uses the <see cref="PatternString.Format()"/> method to convert the /// <see cref="PatternString"/> argument to a <see cref="String"/>. /// </para> /// </remarks> /// <exception cref="ConversionNotSupportedException"> /// The <paramref name="source"/> object cannot be converted to the /// <paramref name="targetType"/>. To check for this condition use the /// <see cref="CanConvertTo"/> method. /// </exception> public object ConvertTo(object source, Type targetType) { PatternString patternString = source as PatternString; if (patternString != null && CanConvertTo(targetType)) { return(patternString.Format()); } throw ConversionNotSupportedException.Create(targetType, source); }
public object ConvertTo(object source, Type targetType) { PatternString str = source as PatternString; if ((str == null) || !this.CanConvertTo(targetType)) { throw ConversionNotSupportedException.Create(targetType, source); } return(str.Format()); }
/// <summary> /// 测试AppSetting路径转换器(在配置的应用程序域中) /// </summary> public void TestAppSettingPathConverterInConfiguredDomain() { string pattern = "%appSetting{TestKey}"; PatternString patternString = new PatternString(pattern); string evaluatedPattern = patternString.Format(); string appSettingValue = ConfigurationManager.AppSettings["TestKey"]; Assert.AreEqual("TestValue", appSettingValue, "Expected configuration file to contain a key TestKey with the value TestValue"); Assert.AreEqual(appSettingValue, evaluatedPattern, "Evaluated pattern expected to be identical to appSetting value"); string badPattern = "%appSetting{UnknownKey}"; patternString = new PatternString(badPattern); evaluatedPattern = patternString.Format(); Assert.AreEqual("(null)", evaluatedPattern, "Evaluated pattern expected to be \"(null)\" for non-existent appSettings key"); }
public void TestEnvironmentFolderPathPatternConverter() { string[] specialFolderNames = Enum.GetNames(typeof(Environment.SpecialFolder)); foreach (string specialFolderName in specialFolderNames) { string pattern = "%envFolderPath{" + specialFolderName + "}"; PatternString patternString = new PatternString(pattern); string evaluatedPattern = patternString.Format(); Environment.SpecialFolder specialFolder = (Environment.SpecialFolder)Enum.Parse(typeof(Environment.SpecialFolder), specialFolderName); Assert.AreEqual(Environment.GetFolderPath(specialFolder), evaluatedPattern); } }