Jump to content

[VB.NET] Copiar objectos


ht

Recommended Posts

boas  🙂

tenho uma dúvida/problema acerca da cópia de objectos (deve ter a ver com poo  ?)..

por exemplo, pretendo copiar o objecto ABC para o objecto CDE mas não consigo, ou seja, depois de atribuir o objecto CDE e alterar o conteúdo de CDE altera também em ABC. Penso que o objecto CDE acede ao espaço de memória de ABC.

Dim ABC as new Medida
Dim CDE as new Medida

ABC.CoordX = 100
ABC.CoordY = 200

CDE = ABC

CDE.CoordX += 500

'' Valor de ABC.CoordX -> 600
'' Valor de CDE.CoordX -> 600

Preciso que ao alterar em CDE não altere em ABC, o que não é o caso. Não conheço forma de resolver isto.

Se alguém souber, agradecia a ajuda.

Link to comment
Share on other sites

não é isso..

pretendo copiar ABC para CDE fazendo a atribuição

CDE = ABC

O problema é que quando altero CDE, altera também ABC e não é isso que pretendo.

Se eu fizer CDE.CoordX = 750, o valor de ABC.CoordX = CDE.CoordX sendo 750.

Se ABC e CDE fossem tipos de dados funcionavam como eu queria (por ex, Integer). Mas ABC e CDE são objectos.

Link to comment
Share on other sites

o problema persiste  :wallbash: de qualquer forma obrigado pela ajuda

depois de googlar durante algum tempo, encontrei uma forma um bocado trabalhosa de resolver o problema..

torna-se necessário criar uma função para as classes necessárias do género:

Friend Function Clone() as Medida
	Dim C as new Medida
	C.CoordX = Me._CoordX
                C.CoordY = Me._CoordY
                C.CoordZ = Me._CoordZ
	Return C
End Function

gostava que houvesse uma forma mais simples em vez de estar a adaptar a função para várias classes..

se alguém conhecer outra forma, que coloque aqui..

cumpz

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.