PDA

View Full Version : [C#] Chiamare un ogetto già allocato


spv42
09-11-2006, 08:32
Salve, con Java è possibile fare:

public class MiaClasse {

private MiaClasse istanza=null;

public MiaClass(){
istanza = this
}

public MiaClasse getIstanza {
if(istanza==null) new MiaClasse();
return this.istanza;
}

}

in Modo che se l'ogetto è già stato allocato posso utilizzare quello.

In C# non ci sono riuscito, mi dà un errore a runtime.

Qualcuno può dirmi il perchè, o come faccio ad utilizzare un ogetto che è già nella memoria heap??

Riordian
09-11-2006, 09:06
che tipo di errore ti da runtime? visto così velocemente mi sembra che return this.istanza ritorni comunque un null.

Sephi
09-11-2006, 09:26
http://www.programmazione.it/index.php?entity=eitem&idItem=29130

spv42
09-11-2006, 09:35
che tipo di errore ti da runtime? visto così velocemente mi
sembra che return this.istanza ritorni comunque un null.


Non lo ricordo, e scusatemi, ma qui non posso riprodurlo, visto che sul pc del lavoro non ho installato VC#!

Comunque in Java non torna null.

if (condizione) then azione
sempreeseguita

if(istanza==null) istanza = new MiaClasse();
return this.istanza

thebol
09-11-2006, 09:43
getInstanza non dovrebbe essere static?

Riordian
09-11-2006, 09:51
Non lo ricordo, e scusatemi, ma qui non posso riprodurlo, visto che sul pc del lavoro non ho installato VC#!

Comunque in Java non torna null.

if (condizione) then azione
sempreeseguita

if(istanza==null) istanza = new MiaClasse();
return this.istanza

aspetta ma prima non avevi messo

if(istanza==null) istanza = new MiaClasse();
ma

if(istanza==null) new MiaClasse();

:)

cmq segui ciò che ti ha suggerito sephi per risolvere il problema :)

jappilas
09-11-2006, 10:05
getInstanza non dovrebbe essere static?
in effetti... :)
http://www.programmazione.it/index.php?entity=eitem&idItem=29130
ah, il caro vecchio singleton... ! :D

spv42
09-11-2006, 10:27
http://www.programmazione.it/index.php?entity=eitem&idItem=29130


Grazie, sei un amico!!! :D

spv42
09-11-2006, 11:33
Già che ci sono! :D

E' possibile in C# popolare un ComboBox con dei dati provenienti da Tabelle?

thebol
09-11-2006, 11:47
http://en.wikipedia.org/wiki/Singleton_pattern#Java

spv42
09-11-2006, 12:17
http://en.wikipedia.org/wiki/Singleton_pattern#Java


Ti ringrazio