Attributes on interface properties doesn’t get inherited to the class, you may make your interface an Abstract Class.
Found an answer from Microsoft:
The product team does not want to implement this feature, for two main
reasons:
- Consistency with DataAnnotations.Validator
- Consistency with validation behavior in ASP.Net MVC
- tricky scenario: a class implements two interfaces that have the same property, but with conflicting attributes on them. Which
attribute would take precedence?