Perché i framework UI non usano i generici?

7

Un modo di considerare la sicurezza del tipo è che aggiunge test automatici su tutto il codice che fermano alcune cose che si infrangono in qualche modo. Uno degli strumenti che aiuta questo in .NET è generici.

Tuttavia, sia WinForms sia WPF sono generici. Ad esempio, non esiste un controllo ListBox<T> che potrebbe mostrare solo gli elementi del tipo specificato. Tali controlli funzionano invariabilmente su object invece.

Perché i generici non sono apprezzati dagli sviluppatori di framework UI?

    
posta Roman Starkov 13.04.2012 - 13:41
fonte

3 risposte

5

WinForms è arrivato con .NET 1.0 prima che esistesse il supporto per i generici. Nel caso del WPF, lo sviluppo è iniziato su questo aspetto prima che anche il framework supportasse i farmaci generici. Anche se il supporto generico è arrivato su .NET prima che WPF fosse rilasciato, ci sarebbe voluto un notevole sforzo per tornare indietro e aggiungerlo.

Inoltre, XAML per rappresentare i generici non è carino

    
risposta data 13.04.2012 - 15:36
fonte
2

Nel caso di WinForms è retrocompatibile con le versioni .NET precedenti che non supportavano i generici (quindi tutti quelli object sender s nei gestori di eventi), mentre WPF implementa il databinding in modo diverso ( {Binding Path=Name} etc .; ).

    
risposta data 13.04.2012 - 13:46
fonte
1

Per un framework UI ha molto più senso prendere oggetti e associare riflessivamente piuttosto che digitare in modo strong le interfacce in qualche modo. Molti casi in cui è necessario gettare oggetti completamente arbitrari in contenitori UI arbitrari nei casi in cui non è possibile divinizzare i tipi in fase di runtime.

    
risposta data 13.04.2012 - 15:05
fonte

Leggi altre domande sui tag