Por que nem todas as classes System.Web.UI.WebControl com propriedades Text implementam ITextControl?

Estou curioso por que apenas algunsSystem.Web.UI.WebControl Os controles implementam determinadas interfaces quando elas têm as mesmas propriedades de uma interface.

Por exemplo, há muitos controles que possuem uma propriedade Text, mas apenas o seguinte implementaITextControl:

RótuloLiteralDataBoundLiteralCaixa de textoListControl

(TextBox e ListControl realmente implementam IEditableTextControl, que implementa ITextControl)

TableCell, Button, HyperLink e outros não, então eu tenho que escrever um código como este

ITextControl textControl = control as ITextControl;
TableCell tableCell = control as TableCell;

if (textControl != null)
{
    textControl.Text = value;
}
else if (tableCell != null)
{
    tableCell.Text = value;
}

em vez disso

control.Text = value;

Foi uma decisão de projeto ou uma supervisão?

questionAnswers(1)

yourAnswerToTheQuestion