Compartilhar via


Como: Estender contêineres de componente

Recipientes de componente são totalmente extensíveis.Você pode herdar do Container classe e adicionar propriedades ou métodos, adicionar funcionalidade personalizada para impor regras, substituir os métodos base ou qualquer Outros funcionalidade personalizada que você deseja que o contêiner para incorporar. Para obter detalhes sobre recipientes e estendendo contêineres, consulte Recipientes, sites e componentes.

Estender um Container sistema autônomo você faria estender qualquer classe base. Crie uma classe que herda as propriedades da classe base, substituir quaisquer métodos que você deseja estender e adicionar outras propriedades ou métodos que você precisa de base.Você pode usar a nova classe sistema autônomo faria com um padrão Container e use qualquer uma das novas funcionalidades que tiver codificado.

Para estender a classe base do contêiner

  1. Declarar uma nova classe que herda a Container classe.

    Public Class myContainer
       Inherits System.ComponentModel.Container
    End Class
    
    class myContainer: System.ComponentModel.Container
    {
    }
    
    class myContainer
       extends System.ComponentModel.Container
    {
    }
    
  2. Substitua quaisquer métodos de classe base para adicionar funcionalidades adicionais.O exemplo a seguir mostra como substituir o Add método.

    Observação:

    O Container Na verdade, tem duas sobrecargas do Add, e neste exemplo, seria você deseja fornecer uma substituir de cada.

    ' 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() ;
       }
    }
    
  3. Adicione novas propriedades ou métodos que você deseja que seu novo contêiner para incorporar.Para obter detalhes, consulte Propriedades, campos e métodos de classe.

Consulte também

Tarefas

Como: Criar componente Containers

Conceitos

Recipientes, sites e componentes

Comunicação entre os contêineres e componentes

Referência

Container