Procedura: estendere i contenitori di componenti
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 seguente 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.
Vedere anche
Attività
Procedura: creare contenitori di componenti