我很好奇为什么只有一些System.Web.UI.WebControl
控件在具有相同的接口属性时才实现某些接口。
例如,有很多控件都有Text属性,但只有以下工具ITextControl
:
(TextBox和ListControl实际上实现了实现ITextControl的IEditableTextControl)
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;
这是设计决定还是疏忽?
答案 0 :(得分:1)
我认为它设计得很好,我不认为这是一种疏忽;那些是文本是控件目的的主要焦点的控件。我确实看到了你的观点,因为让控件利用更多这些类型的接口会非常方便。