C# isvalid
时间: 2023-12-01 16:42:33 浏览: 170
C#播放音频文件
以下是一个C#的示例,演示如何使用自定义验证器来检查属性的有效性:
```csharp
using System;
using System.ComponentModel.DataAnnotations;
public class TestValidator
{
public static ValidationResult TestAge(int age)
{
if (age > 10 && age < 20)
{
return new ValidationResult("10<age<20,你太年轻了");
}
else
{
return ValidationResult.Success;
}
}
}
public class Person
{
[CustomValidation(typeof(TestValidator), "TestAge")]
public int Age { get; set; }
}
class Program
{
static void Main(string[] args)
{
Person p = new Person();
p.Age = 15;
ValidationContext context = new ValidationContext(p, null, null);
Validator.ValidateObject(p, context, true);
}
}
```
在上面的示例中,我们定义了一个名为TestValidator的类,其中包含一个名为TestAge的静态方法,该方法接受一个整数参数并返回一个ValidationResult对象。我们还定义了一个名为Person的类,其中包含一个名为Age的属性,该属性使用CustomValidation属性进行注释,以指定我们要使用TestValidator.TestAge方法进行验证。在Main方法中,我们创建了一个Person对象,并将其Age属性设置为15。然后,我们创建了一个ValidationContext对象,并使用Validator.ValidateObject方法对Person对象进行验证。如果Age属性的值不在10到20之间,则会引发ValidationException异常,并显示错误消息“10<age<20,你太年轻了”。
阅读全文