definire get o set in c #

amici che ho problemi con l’utilizzo get o set in class in c # quando uso get o set in dà errore (token non valido {in class) pls, vedi sotto codice, ho questo problema in esso

static int abcd { get { return _abcd; } } 

thanx

questo è il codice completo, non ho questo problema con nessuno dei tuoi codici ma solo questo:

 namespace ConsoleApplication2 { class Program { class Car { private int _speed; public int Speed; { get { return _speed } } } } } 

Lo snippet che hai pubblicato va bene così com’è, anche in relazione all’errore, in quanto ha il numero corretto di { to } e nell’ordine corretto.

Guarda dove l’hai inserito (possibilmente al di fuori di una class), o cerca extra } nel file.

Aggiornamento: (dopo la modifica in questione)

Il tuo problema è qui:

 public int Speed; // <-- ; should not be here 

E:

 return _speed // <-- missing the ; 

La proprietà dovrebbe essere implementata in questo modo:

 public int Speed { get { return _speed; } } 

Ci sono due errori nel codice.

  • Hai un punto e virgola in cui non dovrebbe esserci uno (individuato da Oded).
  • Ti manca un punto e virgola dove dovrebbe essercene uno.

Prova questo invece:

 namespace ConsoleApplication2 { class Program { class Car { private int _speed; public int Speed // <-- no semicolon here. { get { return _speed; // <-- here } } } } } 

Ho notato che il codice che hai originariamente pubblicato era formattato male. Suggerisco di formattare automaticamente il documento in Visual Studio per allineare le parentesi. Questo dovrebbe rendere l'errore più ovvio. Quando la formattazione del codice sembra errata, sai che c'è un errore nelle vicinanze. Puoi trovare questa opzione nel menu: Modifica -> Avanzate -> Formatta documento o usa la scorciatoia da tastiera (Ctrl-E D per me, ma potrebbe essere diversa per te, a seconda delle impostazioni).

Ti suggerirei anche di prendere in considerazione l'utilizzo di proprietà autoattive invece di scrivere completamente il getter:

 namespace ConsoleApplication2 { class Program { class Car { public int Speed { get; private set; } } } } 

Questo dovrebbe funzionare:

 class Foo { static int _abcd; static int Abcd { get { return _abcd; } set { _abcd = value; } } }