Condividere oggetti e variabili

lunedì 12 giugno 2006 - 23.21

paolopat Profilo | Junior Member

Ciao a tutti, sto passando dalla programmazione Web con ASP.Net 2.0 verso la programmazione Windows Form. Ho una domanda semplice semplice (almeno spero) : con una Web Application, quando voglio rendere visibile un oggetto oppure una variabile tra tutte le pagine, non faccio altro che salvarlo in Session oppure in Application. Come faccio la stessa cosa nell'ambito di più form di un'applicazione Windows ? Cioè, come faccio a fare in modo che l'istanza di un oggetto possa essere passata tra un form e l'altro ?

Grazie a tutti.

alextyx Profilo | Expert

Se ho capito cosa intendi, la risposta è: la dichiarazione in un modulo come 'public'
Esempio:

Module1
Public F1 as new Form1
End Module

l'istanza F1 sarà visibile dappertutto, nel tuo progetto.

paolopat Profilo | Junior Member

è quello che immaginavo...ma non la vedo una soluzione elegantissima...

alextyx Profilo | Expert

Ci sono anche altri modi che potrebbero essere utilizzati, però questo è quello che ti svincola da una serie di problemi ed adempimenti vari: l'oggetto è visibile, punto e basta. Tutto sommato, non vedo alcunchè di inelegante, salvo il fatto che le variabili 'globali' hanno il brutto difetto che tutti ci possono smanettare sopra. Tuttavia se le form che necessitano di lavorare con l'oggetto sono diverse, questo requisito è desiderabile. Se invece la form cui passare un riferimento all'oggetto è, magari, una soltanto, allora si possono prendere il considerazione altri sistemi.

paolopat Profilo | Junior Member

il fatto è che facendo riferimento al paradigma OO...il form è una classe e tutto ciò che è interno al form dovrebbe essere un'entità che fa parte del form. Se il form deve gestire ad esempio un oggetto della classe Persona, quest'ultima è un qualcosa che non rappresenta un'entità del form ma un dato su cui operare ma rendendola una proprietà pubblica del form non è più così...
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5