gpt4 book ai didi

asp.net - 为什么不是所有具有 Text 属性的 System.Web.UI.WebControl 类都实现 ITextControl?

转载 作者:行者123 更新时间:2023-12-02 04:10:44 24 4
gpt4 key购买 nike

我很好奇为什么只有一些 System.Web.UI.WebControl 控件在具有相同接口(interface)属性时实现某些接口(interface)。

例如,有很多控件具有 Text 属性,但只有以下实现 ITextControl:

  • 标签
  • 文字
  • 数据绑定(bind)文字
  • 文本框
  • 列表控件

(TextBox和ListControl实际上实现了IEditableTextControl,而IEditableTextControl又实现了ITextControl)

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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com