Compartilhar via


Como: estender contêiner componentes

Contêiners componentes são completamente extensíveis.Você pode herdar da classe de Container e adicionar propriedades ou métodos, adicionar funcionalidade personalizada para impor regras, métodos de base de substituição, ou qualquer outra funcionalidade personalizada que você deseja que seu recipiente para inserir.Para obter detalhes sobre contêiner e em contêiner estender, consulte contêiner, sites, e componentes.

Você estender Container porque você estenderia qualquer classe base.Crie uma classe que herda as propriedades da classe base, substitui os métodos base que você deseja estender, e adiciona as propriedades ou métodos adicionais que você precisa.Você pode usar a nova classe como você Container um padrão e usar alguma da nova funcionalidade que você codificou.

Para estender a classe base de contêiner

  1. Declarar uma nova classe que herda da classe de Container .

    Public Class myContainer
       Inherits System.ComponentModel.Container
    End Class
    
    class myContainer: System.ComponentModel.Container
    {
    }
    
  2. Substituir os métodos da classe base para adicionar funcionalidade adicional.O exemplo a seguir mostra como substituir o método de Add .

    ObservaçãoObservação

    Container realmente tem duas sobrecargas de Add, e em esse exemplo, você poderia desejar fornecer uma substituição de cada um.

    ' 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());
       }
    }
    
  3. Adicionar todas as novas propriedades ou métodos que você desejar seu novo recipiente para inserir.

Consulte também

Tarefas

Como: crie contêiner componentes

Referência

Container

Conceitos

Contêiner, sites, e componentes

Comunicação entre recipiente e componentes