I'm curious why only some System.Web.UI.WebControl
controls implement certain interfaces when they have the same properties of an interface.
For instance, there are plenty of controls that have a Text property but only the following implement ITextControl
:
(TextBox and ListControl actually implement IEditableTextControl which implements ITextControl)
TableCell, Button, HyperLink and others don't so I have to write code like this
ITextControl textControl = control as ITextControl;
TableCell tableCell = control as TableCell;
if (textControl != null)
{
textControl.Text = value;
}
else if (tableCell != null)
{
tableCell.Text = value;
}
instead of this
control.Text = value;
Was this a design decision or an oversight?
I think it was designed ok, I don't think it was an oversight; those are the controls where text is the primary focus of the purpose of the control. I do see your point because that would be very convenient to have controls utilize more of these types of interfaces.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With