Почему не все классы System.Web.UI.WebControl со свойствами Text реализуют ITextControl?
Мне любопытно, почему только некоторыеSystem.Web.UI.WebControl
элементы управления реализуют определенные интерфейсы, когда они имеют одинаковые свойства интерфейса.
Например, есть много элементов управления, которые имеют свойство Text, но только следующая реализацияITextControl
:
(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;
Было ли это дизайнерское решение или недосмотр?