Compartir a través de


Interfaces duales y eventos

Aunque es posible diseñar una interfaz de eventos como dual, hay buenas razones de diseño para no hacerlo.La razón fundamental es que el origen de eventos se iniciará solo el evento mediante el vtable o mediante Invoke, no ambos.Si el origen de eventos desencadena el evento como una llamada al método vtable directa, los métodos de IDispatch nunca se utilizarán y está claro que la interfaz debe haberse una interfaz vtable pura.Si el origen de eventos desencadena el evento como una llamada a Invoke, los métodos vtable nunca se utilizarán y está claro que la interfaz debe haberse dispinterface.Si define las interfaces de eventos como se dobla, necesitará a clientes implementar la parte de una interfaz que nunca se utiliza.

[!NOTA]

Este argumento no se aplica a las interfaces duales, en general.Desde una perspectiva de implementación, se dobla es una forma rápida, conviene, y bien-admitida de implementar las interfaces que son accesibles a una gran variedad de clientes.

Hay otras razones para evitar interfaces duales de evento; ni compatibilidad con Visual Basic ni de Internet Explorer ellas.

Vea también

Conceptos

Interfaces duales y ATL