Compartilhar via


Interfaces duais e eventos

Embora seja possível criar uma interface de evento como um double, há um número bons motivos de design não fazer isso.A principal motivo é que a origem do evento acionará somente o evento através de vtable ou através de Invoke, não ambos.Se a fonte do evento aciona o evento como uma chamada vtable direto do método, os métodos de IDispatch serão usados e nunca é claro que a interface deve ter sido uma interface vtable pura.Se a fonte do evento aciona o evento como uma chamada a Invoke, os métodos vtable serão usados e nunca é claro que a interface deve ter sido um dispinterface.Se você definir o evento interface como duals, você irá requerer clientes implementar a parte de uma interface que nunca é usada.

ObservaçãoObservação

Esse argumento não se aplica às interfaces duais, em geral.De a perspectiva da implementação, duals é uma maneira rápida, conveniente, e bem suporte de implementar as interfaces que são acessíveis para uma ampla variedade de clientes.

Há motivos mais adiante evitar interfaces duais do evento; nem nem o Visual Basic Internet Explorer suportar-los.

Consulte também

Conceitos

Interfaces duais e ATL