我需要知道如何组合属性和正则表达式。这是属性:
public string NameFormal
{
get {return nameFormal;}
set
{
nameFormal = value;
}
}
我想使用setter来使用我已经拥有的正则表达式模式来验证输入。我可以写一个单独的bool函数给是/否匹配。但是如何在返回字符串的属性中执行此操作?感谢帮助。
我正在使用VS2010。
答案 0 :(得分:0)
假设您想要在设置器中设置它之前检查正则表达式的值?
public string NameFormal
{
get {return nameFormal;}
set
{
string pattern = "^\\d{3}-\\d{3}-\\d{4}$"; //input your regex here
if (Regex.IsMatch(value, pattern))
{
nameFormal = value;
}
else
{
//didn't match
}
}
}
小心将这样的逻辑放入setter中,因为在设置属性时它可能会让人感到困惑而且它会无声地失败,我建议投掷或有一些事情提醒用户/程序员设置此变量失败。