Credo che il concetto sia di gran lunga diverso, poichè Shared si riferisce ad elementi della programmazione ad oggetti che non erano nemmeno presenti in VB6.Originariamente inviato da cassano
i metodi shared corrispondono al vecchio static in vb6 ,e permettono di usare un metodo , proprieta e altro senza istanziare l'oggetto
La parola chiave Static veniva posta davanti a variabili o ad intere subroutine per attribuire alle variabili stesse una sorta di "persistenza", rendendole in grado di mantenere un determinato valore tra una chiamata e l'altra pur trattandosi di variabili locali, quindi visibili solo all'interno di una determinata subroutine.
Il concetto di Shared è ben differente: si applica in modo specifico ad un membro di una classe, sia esso un campo (variabile) o un metodo, per renderlo accessibile senza la necessità di dover necessariamente creare un'istanza di tale classe, operazione che VB6 eseguiva implicitamente poichè limitato come linguaggio e non in grado di fornire tutto il supporto necessario alla programmazione ad oggetti.
In VB6, l'uso di Static era un espediente, l'uso di Shared è invece una potenzialità e diviene una necessità qualora, prendendo un modello ad oggetti disegnato per la propria applicazione, sia necessario dichiarare un campo o un metodo come tale.
Paragonando il "vecchio" Static a Shared, si confondono le idee e si istiga a cattive abitudini di programmazione dovute all'impiego di un elemento del linguaggio con uno scopo specifico per supportare un espediente che non esiste più (e portava non pochi problemi, se non attentamente controllato).
Ciao!![]()