Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Verificare che un oggetto sia stato effettivamente istanziato
lunedì 01 dicembre 2003 - 13.19
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
sheen77
Profilo
| Newbie
42
messaggi | Data Invio:
lun 1 dic 2003 - 13:19
Salve a tutti, qualcuno sa qual'è un modo semplice per vedere se un oggetto non è stato istanziato in visual basic . net.
Ovvero:
Dim pippo as Persona
oggetto1.nome = "pippo"
' da errore perchè pippo non èstato istanziato, si ottiene un eccezione System.NullReferenceException
Uno dei modi giusti è ovviamente:
Dim pippo as Persona = new Persona
oggetto1.nome = "pippo"
Un modo sarebbe catturare l'eccezione ma credo sia inutile.
Io vengo da java (spero questo non mi privi del vostro aiuto:)) dove scrivevo:
if (pippo == null) {..}
Probabilmente esiste qualcosa di simile in visual basic .net. O no?
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
lun 1 dic 2003 - 13:30
Ciao,
non ho ben capito il codice che hai scritto, perchè crei un oggetto pippo e poi lo assegni sotto come strigna fra apici.
Comunque per verificare se un oggetto è istanziato in C# si usa ==null oppure in VB.NET si usa:
Dim a As Object
If (a Is Nothing) Then
Console.WriteLine("NOTHING")
End If
Ciao
david
sheen77
Profilo
| Newbie
42
messaggi | Data Invio:
lun 1 dic 2003 - 16:03
Vi ringrazio per le dritte, quello della persona voleva essere un esempio in cui ho una classe persona con un attributo nome
che ha tipo stringa.
Volevo mostrare come non avendo ancora allocato memoria per l'oggetto,poichè dichiarato solo con l'istruzione dim, tentare
di accedere ad un suo attributo vuol dire provocare un'eccezione.
Alla cattura dell'eccezione ci avevo pensato però immaginavo che esistesse un comando + immediato, ed Is Nothing è proprio quello che cercavo.
Voglio lasciare un esempio di uso se a qualcuno può essere utile.Il seguente è un metodo che si occupa di eseguire una query in modalità connessa(già esiste la connessione e tutto il resto), uso Is Nothing per verificare se mi trovo all'interno di una Transazione già creata dal codice chiamante, (Me.transazione), se si essa sarà già allocata ma avrò l'esigenza di settare l'attributo Transaction dell'oggetto SqlCommand.
Sub esegui(ByVal query As String)
Dim cmd As SqlCommand = Me.conn.CreateCommand()
cmd.CommandText = query
If (Not (Me.transazione Is Nothing)) Then 'controllo se è attiva una transazione
cmd.Transaction = Me.transazione
End If
Me.drd = cmd.ExecuteReader()
End Sub
Grazie e ciao a tutti.
Torna su
Stanze Forum
Elenco Threads
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 !