【发布时间】:2011-10-06 18:16:24
【问题描述】:
我想知道是否有办法在 C# 中隐藏子类型的继承属性,例如:
public interface ISupplierLogin : ISupplier
{
[Obsolete]
new string BusinessName { get; set; }
[Obsolete]
new long ABN { get; set; }
[Obsolete]
new DateTime DateRegistered { get; set; }
}
public interface ISupplier
{
bool TradeOnly { get; set; }
[Required]
[DisplayName("Business Name")]
[StringLength(25, ErrorMessage = "The maximum length of business name is 25 characters.")]
[DataType(DataType.Text)]
string BusinessName { get; set; }
[Required]
[DisplayName("Australian Business Number")]
[ABNValidator(ErrorMessage="The ABN you entered does not appear to be valid.")]
long ABN { get; set; }
[Required]
[RegularExpression("^[a-zA-Z0-9]+$", ErrorMessage="The username you entered does not appear to be valid. (a-z & 0-9)")]
[StringLength(25, ErrorMessage = "The maximum length of username is 25 characters")]
[DataType(DataType.Text)]
string Username { get; set; }
[Required]
[StringLength(12, ErrorMessage = "The maximum length of password must be between 8 and 12 characters long.")]
[DataType(DataType.Password)]
string Password { get; set; }
[DisplayName("Date Registered")]
DateTime DateRegistered { get; set; }
}
我想在我的视图模型中继承我的验证属性,但仅限于两个属性。
有没有办法巧妙地实现我想要做的事情?
谢谢。
【问题讨论】:
-
你可以将基本成员设为虚拟,然后用
[EditorBrowsable(EditorBrowsableState.Never)]覆盖它
标签: c# .net inheritance .net-4.0 interface