Cast vb.net

giovedì 22 gennaio 2009 - 13.19

platinette Profilo | Newbie

Salve a tutti,
scusate la domanda stupidissima, ma non ho mai programmato in visual basic...com si fa il cast fra due oggetti in vb.net?
Per intenderci :

dim Object pippo
dim SAPbobsCOM.Documents pluto

pluto = (SAPbobsCOM.Documents) pippo


grazie mille!

Lara
L@.

tonyexpo Profilo | Senior Member


Ciao

ti spiego per sommi capi:
se la variabile di destinazione è object, visto che nel paradigma di programmazione .NET ogni variabile deriva da object, non serve fare il cast.
In quel caso la variabile assume il valore dell'invocazione:
dim o as object = new System.Xml.Document()

in questo caso verrà fatta dal compilatore una operazione di boxing, e la relativa unboxing nell'operazione inversa di utilizzo di quella variabile:
dim x as System.Xml.XmlDocument = o

Puoi ovviamente utilizzare delle sintassi esplilcite di cast. Il compilatore comunque verifica la tua istruzione invocando un eccezione nel caso di cast imposibile:

dim x as System.Xml.XmlDocument = Ctype(o, System.Xml.XmlDocument)
oppure
dim x as System.Xml.XmlDocument = DirectCast(o, System.XmlDocument)
mentre questa darebbe errore:
dim x as System.Xml.XmlDocument = ctype(new integer, System.Xml.XmlDocument)
è possibile aggirare il compilatore, ma in quel caso darebbe errore a runtime.



Antonio Esposito
MCP, MCTS .NET 2.0 Distributed applications

platinette Profilo | Newbie

ho gia risolto grazie!
L@.
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