Почему не делают всей Системы. Сеть. Классы UI.WebControl с текстовыми свойствами реализуют ITextControl?

Мне любопытно почему только некоторые System.Web.UI.WebControl средства управления реализуют определенные интерфейсы, когда у них есть те же свойства интерфейса.

Например, существует много средств управления, которые имеют текстовое свойство, но только следующую реализацию ITextControl:

  • Маркировка
  • Литерал
  • DataBoundLiteral
  • TextBox
  • ListControl

(TextBox и ListControl на самом деле реализуют IEditableTextControl, который реализует ITextControl),

TableCell, Кнопка, 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;

Действительно ли это было проектным решением или контролем?

11
задан jrummell 9 April 2010 в 16:19
поделиться

1 ответ

Я думаю, что это было хорошо спроектировано, я не думаю, что это была оплошность; это те элементы управления, в которых текст является основным объектом назначения элемента управления. Я понимаю вашу точку зрения, потому что было бы очень удобно, если бы элементы управления использовали больше этих типов интерфейсов.

1
ответ дан 3 December 2019 в 12:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: