Dual Interfaces and Events
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.