我有一个用验证属性注释的属性。为什么在属性的 IsValid 方法之前调用属性的 setter,更重要的是如何在设置值之前对其进行验证?
这是一个草图代码模型,用于查看验证器属性的外观:
[AttributeUsage(AttributeTargets.Property, AllowMultiple = false)]
public class MyAttribute: ValidationAttribute
{
public override bool IsValid(object value)
{
...
}
}
以下是属性在属性上的使用方式:
[MyAttribute]
public string MyProperty
{
get { ... }
set { ... }
}