Атрибут членов интерфейса не работает
В моем приложении нужно несколько моделейPassword
свойства (например,Registration
а такжеChangePassword
модели).Password
свойство имеет атрибут какDataType
а такжеRequired
, Поэтому для обеспечения повторного использования последовательности я создал:
interface IPasswordContainer{
[Required(ErrorMessage = "Please specify your password")]
[DataType(DataType.Password)]
string Password { get; set; }
}
А также
class RegistrationModel : IPasswordContainer {
public string Password { get; set; }
}
К сожалению, атрибуты не работают.
Затем я попытался изменить интерфейс на класс:
public class PasswordContainer {
[Required(ErrorMessage = "Please specify your password")]
[DataType(DataType.Password)]
public virtual string Password { get; set; }
}
А также
public class RegistrationModel : PasswordContainer {
public override string Password { get; set; }
}
Теперь это работает. Почему так?
Why the attributes are working when inherited from class but not working when inherited from interface?