Je suis en train d'étendre le contrôle Web TextBox pour fonctionner comme une sorte de "DateTextBox" qui expose sa valeur en tant que propriété (DateValue
) dans le code-behind:
public sealed class DateTextBox : TextBox
{
public DateTime ?DateValue
{
/* ToDateFromUserInterface() et ToUserInterfaceString() sont tous deux
des méthodes d'extension */
get
{
return
(
String.IsNullOrEmpty(Text) ?
new DateTime?() :
Text.ToDateFromUserInterface()
);
}
set
{
if (value != null) Text = ((DateTime)value).ToUserInterfaceString();
}
}
}
Étant donné que ce contrôle est censé être utilisé uniquement avec des dates, il n'y a aucune raison pour lui d'hériter de la propriété Text
de son parent.
Y a-t-il un moyen de le masquer?.. Autre que d'implémenter une NotImplementedException
, comme ceci:
new public String Text
{
get { throw new NotImplementedException(); }
set { throw new NotImplementedException(); }
}