Unexpected RegexStringValidator failure in ConfigurationProperty in custom ConfigurationElement
我正在编写自己的自定义配置部分,并在这样的配置元素中定义了一个配置属性:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | [ConfigurationProperty("startTime", IsRequired = false)] [RegexStringValidator("\\d{2}:\\d{2}:\\d{2}")] public string StartTime { get { return (string) this["startTime"]; } set { this["startTime"] = value; } } |
我希望能够在我创建的配置元素的starttime属性中输入值,如"23:30:00"。但是,每当我尝试加载配置部分时,我都会收到一个配置错误异常消息:
0我承认我一直在努力使用正则表达式,但这一个非常简单,我编写了一个测试来验证我的模式是否应该验证我期望的值类型:
1 2 | var regex = new Regex(@"\d{2}:\d{2}:\d{2}", RegexOptions.Compiled); var isSuccess = regex.Match("23:30:00").Success; |
issueaccess的计算结果为true,因此我不太确定为什么要抛出configurationErrorException。
作为参考,这里是我的app.config文件中的配置部分:
2对于我为什么不能让regexstringvalidator工作的任何帮助都将不胜感激。谢谢。
尝试定义将通过验证的默认值:
2我想知道属性的间接性是否需要对内容进行双重转义。如果是,则不是:
1 | "\\d{2}:\\d{2}:\\d{2}" |
用途:
1 | @"\\d{2}:\\d{2}:\\d{2}" |
通常我会认为这太多了,但试一下。