Avatar billede thomasabcd Nybegynder
15. juli 2005 - 14:55 Der er 4 kommentarer og
1 løsning

Kopiering af objekt

Hej.
Jeg har lavet en metode, som tager et bruger-objekt som parameter. Denne metode gemmer et bruger-objekt i en database med mindre brugeren allerede findes i databasen. Hvis brugeren allerede findes i databasen, skal de informationer om brugeren, som ligger i databasen, returneres. Mit "problem" ligger i returnering af den information, som ligger i databasen. Jeg kan sagtens gemme en bruger, checke om brugeren allerede ligger i databasen og få returnet et bruger-objekt.

Lad os antage, at en "Hans Hansen" allerede eksisterer, men at hans adresse ifølge databasen er "Niels Nielsens vej 34". I det tilfælde skal jeg bruge informationen fra databasen.

Min kode:

Class Klasse1
User u = new User("Hans Hansen","Jens Jensens vej 41");
UserSaver us = new UserSaver();
us.Save(u);

Class UserSaver
public void Save(User u)
{
  if(UserExistsInDB(u)==false)
    SaveUser(u);
  else
    User tempUser = GetUser(u.Name);
    u.Name = tempUser.Name;
    u.Address = tempUser.Address
}

Dette virker fint.

Men i stedet for at kopiere hver enkelt egenskab fra tempUser vil jeg gerne kopiere hele det User-objekt, som GetUser-metoden returnerer. A la det her:

Class UserSaver
public void Save(User u)
{
  if(UserExistsInDB(u)==false)
    SaveUser(u);
  else
    u = GetUser(u.Name);
}

Men det virker ikke. Når jeg tilgår User-objektet i Klasse1-objektet, får jeg IKKE de informationer, som jeg hentede i databasen
Avatar billede arne_v Ekspert
15. juli 2005 - 15:51 #1
prøv:

public void Save(ref User u)
Avatar billede arne_v Ekspert
15. juli 2005 - 15:52 #2
(og så altså bare den ene assignment)
Avatar billede thomasabcd Nybegynder
15. juli 2005 - 16:23 #3
Great ! Det virker fint. Tak for hjælpen. Læg et svar, så du kan få dine point
Avatar billede arne_v Ekspert
15. juli 2005 - 16:26 #4
kommer her
Avatar billede arne_v Ekspert
15. juli 2005 - 16:26 #5
PS: husk at skriv i docs at det kald kan ændre u - de fleste vil antage at em Save
    metode ikke ændrer u
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester