gpt4 book ai didi

c# - 正则表达式使用变量用于相同的字符串模式属性 C#

转载 作者:行者123 更新时间:2023-12-04 13:32:54 27 4
gpt4 key购买 nike

我们可以替换字符串模式 @"^[a-zA-Z''-'\s]{1,40}$"用作属性中的变量?
我尝试将模式设置为字符串,但是当我使用 [RegularExpression...] 时使用它不起作用的变量。我想使用一个变量,因为它是相同的正则表达式格式。

  private static String regexFormat = @"^[a-zA-Z''-'\s]{1,40}$";
或者
   private static String regexFormat = "^[a-zA-Z''-'\s]{1,40}$";


[Display(Name = "Name", Description = "First Name + Last Name.")]
[Required(ErrorMessage = "First Name is required.")]
[RegularExpression(@"^[a-zA-Z''-'\s]{1,40}$", ErrorMessage =
"Numbers and special characters are not allowed in the name.")]


[Required(ErrorMessage = "Last Name is required.")]
[RegularExpression(@"^[a-zA-Z''-'\s]{1,40}$", ErrorMessage =
"Numbers and special characters are not allowed in the name.")]
我想要这样的东西
[RegularExpression(regexFormat, ErrorMessage ="Error in Format")]
这是可能的,如果是这样怎么办?

最佳答案

属性要求信息在应用程序的编译期间可用,并且不是动态的并且被锁定,这是编译器所需要的。
使图案成为 const (编译时常量)允许以后在运行时计算/使用这样的值,并且可以在构造函数或字段初始值设定项/属性中设置。而readonly分配时仅读取一次,因此不可行。const的用法在这种情况下应该对你有用。

关于c# - 正则表达式使用变量用于相同的字符串模式属性 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64018623/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com