Condividi tramite


Interfacce duali ed eventi

Sebbene sia possibile progettare un'interfaccia eventi come un doppio, sono disponibili numerosi buone ragioni di progettazione non a tale scopo.Il motivo fondamentale è che l'origine dell'evento generato solo l'evento tramite il puntatore vtable o tramite Invoke, non entrambi.Se l'origine evento genera l'evento come chiamata al metodo vtable diretta, i metodi IDispatch non verranno utilizzati mai ed è chiaro che l'interfaccia deve essere un'interfaccia vtable pure.Se l'origine evento genera l'evento come chiamata a Invoke, i metodi vtable non verranno utilizzati mai ed è chiaro che l'interfaccia deve essere un'interfaccia dispatch.Se si definiscono le interfacce eventi in modo raddoppiate, saranno ai client di distribuire parte di un'interfaccia che non verranno mai.

[!NOTA]

Questo argomento non si applica alle interfacce duali, in generale.Da una prospettiva di implementazione, raddoppia è un modo rapido, efficace e supportata di implementare le interfacce che sono accessibili a una vasta gamma del client.

Esistono ulteriori motivi evitare le interfacce eventi doppie, né Visual Basic né Internet Explorer le supporta.

Vedere anche

Concetti

Interfacce duali e ATL