为什么注释在接口中不起作用?
像:
public interface IUser
{
[Required]
string FirstName { get; set; }
}
现在如果我做了一个类来实现
public partial class Customer:IUser
{
public Customer()
{
}
public string FirstName
{
get; set;
}
}
除非我在课堂上标记属性,否则它不会强制执行验证!那么从一开始就在界面中注释它有什么意义呢! !所以任何想法?
答案 0 :(得分:4)
嗯,简单的答案是 在界面中注释没有意义。如您所知,在属性上调用Attribute.GetAttribute()(即使inherit为true)不会返回在您的类已实现的接口属性上修饰的属性。当相同的实现满足多个接口时,可能支持这样的工具会导致出现歧义的可能性。