2010-04-09 12 views
11

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?

+0

İyi soru. Bence fark HtmlControl & WebControl arasındadır. Ama bu bir daha fazla arka plan duymak isterim ... – Sunny

+0

@Sunny Bir HtmlControl ve diğeri WebControl olup olmadığını anlayabiliyorum, ancak çeşitli WebControls arasında farklılıklar vardır. – jrummell

cevap

1

Tamamen tasarlandığını düşünüyorum, bir gözetim olduğunu sanmıyorum; Bunlar, metnin kontrolün amacının ana odağı olduğu kontrollerdir. Senin noktanı görüyorum çünkü kontrollerin bu tip arayüzlerden daha fazlasını kullanması çok uygun olurdu.

+0

Bu mantıklı. – jrummell

İlgili konular