Asp.net
為什麼不是所有具有 Text 屬性的 System.Web.UI.WebControl 類都實現 ITextControl?
我很好奇為什麼只有某些
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;這是設計決定還是疏忽?
我認為它設計得很好,我不認為這是一個疏忽;這些是文本是控制項目的的主要焦點的控制項。我確實明白你的意思,因為讓控制項使用更多這些類型的界面會非常方便。