接口上的注释

时间:2010-07-28 13:37:24

标签: c# asp.net asp.net-mvc annotations

为什么注释在接口中不起作用?

像:

public interface  IUser
{
    [Required]
    string FirstName { get; set; }
}

现在如果我做了一个类来实现

 public partial class Customer:IUser
{
    public Customer()
    {
    }

    public string FirstName
    {
        get; set;
    }
}

除非我在课堂上标记属性,否则它不会强制执行验证!那么从一开始就在界面中注释它有什么意义呢! !所以任何想法?

1 个答案:

答案 0 :(得分:4)

嗯,简单的答案是 在界面中注释没有意义。如您所知,在属性上调用Attribute.GetAttribute()(即使inherit为true)不会返回在您的类已实现的接口属性上修饰的属性。当相同的实现满足多个接口时,可能支持这样的工具会导致出现歧义的可能性。