Procedura: estendere i contenitori di componenti
Aggiornamento: novembre 2007
I contenitori di componenti sono completamente estensibili. È possibile ereditare dalla classe Container e aggiungere proprietà o metodi, aggiungere funzionalità personalizzate per attivare le regole, eseguire l'override di metodi di base oppure di qualunque altra funzionalità personalizzata che si desidera incorporare nel contenitore. Per informazioni dettagliate sui contenitori e sulla relativa estensione, vedere Contenitori, siti e componenti.
Il processo di estensione di un Container è analogo a quello di qualunque altra classe base e consiste nella creazione di una classe che erediti le proprietà della classe base, nell'override di eventuali metodi di base che si desidera estendere e nell'aggiunta di tutte le ulteriori proprietà o metodi necessari. A questo punto è possibile utilizzare la nuova classe come se si trattasse di un Container standard e utilizzarne tutte le nuove funzionalità.
Per estendere la classe base Container
Dichiarare una nuova classe che erediti dalla classe Container.
Public Class myContainer Inherits System.ComponentModel.Container End Class
class myContainer: System.ComponentModel.Container { }
class myContainer extends System.ComponentModel.Container { }
Eseguire l'override di eventuali metodi della classe base per aggiungere ulteriori funzionalità. Nell'esempio che segue viene illustrato come eseguire l'override del metodo Add.
Nota: Container contiene in realtà due overload di Add e, in questo esempio, sarà possibile eseguire un override di ciascuno di essi.
' Because Add is overloaded, this line includes the Overloads keyword. Public Overloads Overrides Sub Add(ByVal component As _ System.ComponentModel.IComponent) ' Determines if the component can be added to the container. If TypeOf component Is Widget Then ' Calls the base Add function to add the component. MyBase.Add(component) Else ' Throws an exception. Throw New NonWidgetException() End If End Sub
public override void Add(System.ComponentModel.IComponent component) { if (component is Widget) base.Add(component); else { throw(new NonWidgetException()); } }
public void Add(System.ComponentModel.IComponent component) throws NonWidgetException { if ( component instanceof Widget ) { super.Add(component); } else { throw new NonWidgetException() ; } }
Aggiungere tutte le nuove proprietà o i nuovi metodi che si desidera incorporare nel nuovo contenitore. Per informazioni dettagliate, vedere Proprietà, campi e metodi delle classi.
Vedere anche
Attività
Procedura: creare contenitori di componenti
Concetti
Contenitori, siti e componenti
Comunicazione tra contenitori e componenti