Lop*_*ded 1 c# vb.net entity-framework code-first data-annotations
任何回答此问题的人都知道,属性参数需要常量表达式.可选参数(对于任何事物,而不仅仅是属性)也需要常量表达式作为其默认值.
我遇到的(尽管是轻微的)不便是带有RegularExpressionAttribute模式参数.我的数据模型中有许多使用此属性的属性(可在System.ComponentModel.DataAnnotations中找到),每当我对验证模式进行更改时,我都必须返回并进行更改everryyywherrreee...这真的很烦人.
是否存在可以声明的.net结构,被识别为常量表达式,然后在通常需要常量表达式的情况下可用?
如果我可以在RegexPatternForNameProperty = "^[a-zA-Z0-9,.# ]{1,150}$"某个地方声明属性,然后根据需要更改那个值,那就太好了.
任何可以定义为a的东西const都可以在属性中使用.因此,您仍然受限于编译时常量,但您不必直接使用字符串或数值.
public const string RegexPatternForNameProperty = "^[a-zA-Z0-9,.# ]{1,150}$";
[RegularExpression(RegexPatternForNameProperty)]
public string Name {get; set;}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1138 次 |
| 最近记录: |