Utilizzo delle classi wrapper esplicite
Utilizzo delle classi wrapper esplicite
La prima implementazione del VbLuaNet consentiva solo di chiamare dei wrapper espliciti costruiti ad-hoc. Questa implementazione è sempre valida anche se sconsigliata.
L'implementazione dei wrapper espliciti può creare collisioni. Se il wrapper esplicito non esiste vbluanet implementa il wrapper nativo e lo associa a questo. Successive implementazioni del wrapper esplicito non verranno rese in considerazione perché l'oggetto .NET è già associato al wrapper nativo.
La situazione è anche peggiore perché dipende se momento in cui viene passato l'oggetto .NET il posto è già occupato oppure no ritornando wrapper nativi e espliciti in modo apparentemente casuale.
Per alleviare il problema VbLuaNet implementa un meccanismo particolare. In pratica è possibile chiamare metodi e proprietà native sul wrapper esplicito. Se VbLuaNet non trova il metodo o la proprietà richiesto nel wrapper esplicito reindirizza la chiamata sull'oggetto .NET nativo. In questo senso si può considerare il wrapper esplicito come un "Extended Type".