Neden sadece bazı System.Web.UI.WebControl
denetimleri, bir arabirimin aynı özelliklerine sahip olduklarında belirli arabirimleri uyguladığını merak ediyorum. ÖrneğinNeden Text özellikli System.Web.UI.WebControl sınıfları ITextControl uygulamıyor?
, bir metin özelliği var ama sadece uygulamak aşağıdaki kontroller bol ITextControl
:
- Etiket
- Değişmez
- DataBoundLiteral
- TextBox
- ListControl
(TextBox ve ListControl aslında ITextControl uygulayan IEditableTextControl uygulamak)
TableCell, Düğme, HyperLink ve diğerleri yüzden yapma yerine bu
control.Text = value;
bu
ITextControl textControl = control as ITextControl;
TableCell tableCell = control as TableCell;
if (textControl != null)
{
textControl.Text = value;
}
else if (tableCell != null)
{
tableCell.Text = value;
}
gibi kod yazmak zorunda
Bu bir tasarım kararı mıydı yoksa gözetim mi?
İyi soru. Bence fark HtmlControl & WebControl arasındadır. Ama bu bir daha fazla arka plan duymak isterim ... – Sunny
@Sunny Bir HtmlControl ve diğeri WebControl olup olmadığını anlayabiliyorum, ancak çeşitli WebControls arasında farklılıklar vardır. – jrummell