我很好奇为什么只有某些System.Web.UI.WebControl
控件实现某些与接口(interface)具有相同属性的接口(interface)。
例如,许多控件都具有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;
这是设计决定还是疏忽大意?
最佳答案
我认为设计合理,我不认为这是疏忽。这些是控件,其中文本是控件目的的主要焦点。我确实明白您的意思,因为让控件使用更多此类接口(interface)非常方便。
关于asp.net - 为什么不是所有具有Text属性的System.Web.UI.WebControl类都实现ITextControl?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2609066/