Avatar billede ladyhawke Novice
01. marts 2004 - 15:56 Der er 23 kommentarer og
1 løsning

tilgang/assignment til property i struct

if (title == book.Titel)               
{                       
    Console.WriteLine("gammel titel: " + book.Titel);    book.Titel = Console.ReadLine();
}

Dette virker ikke helt, den nuværende titel (gammel titel) bliver godt nok udskrevet, men jeg får følgende fejl, når jeg forsøger at give "Titel" en ny værdi:

C:\..\Visual Studio Projects\Case2b\Books.cs(287): The left-hand side of an assignment must be a variable, property or indexer

NB book er et object af en struct, som indeholder den offentlige property Titel...
Avatar billede arne_v Ekspert
01. marts 2004 - 16:06 #1
Titel er vel ikke en readonly property (kun get) ?
Avatar billede ladyhawke Novice
01. marts 2004 - 16:13 #2
nej
Avatar billede clausc Nybegynder
01. marts 2004 - 16:13 #3
Mit *gæt* er at du ikke har lavet en set-metode til din Titel property
Avatar billede ladyhawke Novice
01. marts 2004 - 16:14 #4
public string Titel
{
    get
    {
        return titel;
    }
    set
    {
        titel = value;
    }
}
Avatar billede ladyhawke Novice
01. marts 2004 - 16:14 #5
sådan den property ud, det er derfor jeg ikke kan finde ud af hvad der går galt...
Avatar billede arne_v Ekspert
01. marts 2004 - 16:22 #6
Hvordan er titel erklæret i struct'en ?
Avatar billede ladyhawke Novice
01. marts 2004 - 16:28 #7
struct Bog
{
  string titel;
...
Avatar billede ladyhawke Novice
01. marts 2004 - 16:29 #8
efterfulgt af førnævnte get og set metoder....
Avatar billede arne_v Ekspert
01. marts 2004 - 16:35 #9
Der er intet i din kode som ser forkert ud i mine øjne.

??
Avatar billede arne_v Ekspert
01. marts 2004 - 16:36 #10
Det er den rigtige linie ?
Avatar billede ladyhawke Novice
01. marts 2004 - 16:39 #11
linie der hvad?
Avatar billede ladyhawke Novice
01. marts 2004 - 16:40 #12
VS .NET brokker sig over venster siden af =, i denne del af koden:
book.Titel = Console.ReadLine();
Avatar billede ladyhawke Novice
01. marts 2004 - 16:42 #13
venstre var det...
Avatar billede burningice Nybegynder
01. marts 2004 - 16:43 #14
har du prøvet

if (title == book.Titel)               
{                       
    Console.WriteLine("gammel titel: " + book.Titel);   
    string title = Console.ReadLine();
    book.Titel = title;
}
Avatar billede ladyhawke Novice
01. marts 2004 - 16:44 #15
samme fejl...
Avatar billede ladyhawke Novice
01. marts 2004 - 16:44 #16
altså mht. book.Titel -> The left-hand side of an assignment must be a variable, property or indexer
Avatar billede ladyhawke Novice
01. marts 2004 - 16:45 #17
hvad jeg også mener den er...
Avatar billede arne_v Ekspert
01. marts 2004 - 16:46 #18
Huskede du at stille risengrød op på loftet 24. december ?

:-)
Avatar billede arne_v Ekspert
01. marts 2004 - 16:47 #19
Har du prøvet at gemme alt, gå ud af visual studio, gå ind igen, rebuilde alt ?
Avatar billede ladyhawke Novice
01. marts 2004 - 16:49 #20
samme fejl igen... Måske er det risengrøden ;o)
Avatar billede ladyhawke Novice
01. marts 2004 - 16:53 #21
har du VS .NET? i så fald kunne jeg kopiere koden ind her og så kunne du måske prøve at kompilere?
Avatar billede arne_v Ekspert
01. marts 2004 - 16:57 #22
Jeg bruger SharpDevelop, men koden skulle nu nok også compile der.

Men jeg sidder i Finland langt væk fra min egen PC.

:-(
Avatar billede ladyhawke Novice
01. marts 2004 - 16:59 #23
OK, ikke en løsning lige nu :)
Avatar billede ladyhawke Novice
11. marts 2004 - 09:36 #24
lukker da der ikke er kommet noget endeligt svar på problemet...
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