Мне любопытно, почему только некоторые элементы управления System.Web.UI.WebControl
реализуют определенные интерфейсы, когда у них одинаковые свойства интерфейса.
Например, существует множество элементов управления, обладающих свойством Text, но только следующий инструмент ITextControl
:
- Этикетка
- Буквенный
- DataBoundLiteral
- TextBox
- ListControl
(TextBox и ListControl фактически реализуют IEditableTextControl, который реализует ITextControl)
TableCell, Button, HyperLink и другие не так, я должен написать код, подобный этому
ITextControl textControl = control as ITextControl;
TableCell tableCell = control as TableCell;
if (textControl != null)
{
textControl.Text = value;
}
else if (tableCell != null)
{
tableCell.Text = value;
}
вместо этого
control.Text = value;
Было ли это дизайнерское решение или надзор?