验证属性

时间:2011-02-10 17:39:40

标签: c# validation custom-attributes

我有一个抽象类,它从某个接口继承了一个属性。因此无法验证属性支持字段。那么您对如何实现自定义属性以验证属性有任何想法吗?

你有抽象类Collaborator,

public abstract class Collaborator
{
}

然后从某些接口继承它:

interface IPersonInformation
{
    String FirstName { get; set; }
    String LastName { get; set; }
}
interface IRecruitmentInformation
{
    DateTime RecruitmentDate { get; set; }
}
///
public abstract class Collaborator : IPersonInformation, IRecruitmentInformation
{
    public String FirstName { get; set; }
    public String LastName { get; set; }
    public DateTime RecruitmentDate { get; set; } 
}

因此,您无法使用其支持字段验证Collaborator类中的属性 - 它们是自动的。 那么有没有办法在属性上使用属性来验证名称?

1 个答案:

答案 0 :(得分:0)

public abstract class Collaborator : IPersonInformation, IRecruitmentInformation
{
    private string firstName;
    public String FirstName
    { 
        get { return firstName; }
        set 
        {

            //validation code

            this.firstName = value;
        }
    }
    public String LastName { get; set; }
    public DateTime RecruitmentDate { get; set; } 
}

作为实现接口的一种方式应该可以正常工作。我无法想到使用属性实现这一目标的更好方法。