Qualcuno potrebbe spiegare quando e perché dovremmo usare System.ComponentModel.Container
, per favore? Recentemente ho incontrato l'uso di questa classe here, ma in realtà non riesco a capire quale vantaggio ci possa ottenere in questa classe.Quando e perché dovremmo usare la classe System.ComponentModel.Container?
risposta
In generale, lo spazio dei nomi System.ComponentModel
esiste per supportare lo sviluppo dei componenti: i componenti possono essere visivi (controlli) e non visivi. IMO, si dovrebbero sviluppare componenti (in questo contesto implementazioni IComponent
) quando è necessario il supporto del tempo di progettazione. Ad esempio, è possibile trascinare componenti sulla superficie del disegno in Visual Studio e accedere alle relative proprietà. In questo contesto, IContainer
& Container
rappresentano un titolare che conterrà uno o più componenti. Dubito seriamente se sia necessario utilizzare direttamente System.ComponentModel.Container
- questa classe verrà utilizzata internamente da .NET Framework e Visual Studio (o altri strumenti di progettazione). Per quanto riguarda il codice che hai avvistato, sembra essere abbastanza datato e, per questo, non è nemmeno un'istanza della classe Component (viene creato solo un riferimento).