Visual Basic - devolver objetos por referencia

Life is soft - evento anual de software empresarial
   
Vista:

devolver objetos por referencia

Publicado por Josep (1 intervención) el 27/11/2008 12:46:53
Hola a todos.

Estoy acostumbrado a programar en java y c/c++ pero por motivos agenos a mi voluntat me veo obligado a programar en visual basic (utilizo visual studio 2008)

Entonces la cosa es que quiero hacer "sets" i "gets"

Public Property local() As LocalPto
Get
Return it_local
End Get
Set(ByVal value As LocalPto)
it_local = value
End Set
End Property

Pero no quiero que se hagan copias de los objetos, sinó que se pasen referencias a este.

como lo puedo hacer de una manera elegante??

de momento se me ha ocurrido hacerlo así:

Public Sub setLocal(ByRef value As LocalPto)
it_local = value
End Sub
Public Sub getHabitatge(ByRef value As LocalPto)
value = it_local
End Sub

pero encuentro que la forma no es la más adecuada.... si alguien supiera como hacerlo...
Gracias.
adiós
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:devolver objetos por referencia

Publicado por pacopaz (173 intervenciones) el 27/11/2008 21:47:22
Y si lo hicieras directo a las variables, no obtendías el mismo resultado?
Es decir, que en ves de hacer propiedades, hicieras públicas las variables que contienen los valores.
Esto, obviamente restaría en seguridad (no podrías hacerlas tipo read only, por ejemplo), pero es la única forma. Además, el hecho de que las ocupes inevitablemente genera una copia. Además, el pasarlo or referncia haría que esperaras algún cambio en su valor.
En todo caso, aunque reconozco que VS (VB, C#) no implementa de la mejor manera las propiedades, es mucho mejor idea su utilización, que hacerlo directo a las variables en el objeto.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar