-=Svin=- Skrevet 22. februar 2008 Skrevet 22. februar 2008 (endret) Skal lage et simpelt "bankprogram" ved hjelp av en klasse og objekter. Har fått utdelt klassen og den ser slik ut: using System; using System.Data; using System.Configuration; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; /// <summary> /// Summary description for konto /// </summary> public class konto { private decimal _saldo = 0; public konto(decimal saldo) { // // TODO: Add constructor logic here // _saldo = saldo; } public void nySaldo(decimal belop) { if (belop < 0) { _saldo = _saldo + belop; } else { _saldo = _saldo + belop; } } public decimal Saldoen { get { return _saldo; } set { _saldo = value; } } } Jeg skal utifra dette lage et program som gjør det mulig å legge til og trekke fra penger fra en konto. Simpelt nok egentli, men jeg sitter bom fast. Her er kodinga jeg har fått til så langt using System; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; public partial class _Default : System.Web.UI.Page { decimal saldo = 10000; konto kontoen = new konto(saldo); protected void Page_Load(object sender, EventArgs e) { lblVis.Text=Convert.ToString(saldo); } protected void Page_Unload(object sender, EventArgs e) { Session["kontoen"] = kontoen; } protected void btnUtfor_Click(object sender, EventArgs e) { if (Session["kontoen"] != null) { kontoen = (konto)Session["kontoen"]; } decimal belop = Convert.ToDecimal(txtInn.Text); kontoen.nySaldo(belop); } } Jeg får denne feilmeldinga: "Error 1 A field initializer cannot reference the non-static field, method, or property '_Default.saldo" Har prøvd å sette static forran decimal saldo, men det hjelper svært lite. Endret 26. februar 2008 av -=Svin=-
GeirGrusom Skrevet 22. februar 2008 Skrevet 22. februar 2008 Grunnen er at du ikke kan bruke et ikke-statisk felt til å initialisere kontoen. Du må sette dette i constructoren istedet public partial class _Default : System.Web.UI.Page { decimal saldo; konto kontoen; public _Default(decimal start_saldo) // Constructor { saldo = start_saldo; kontoen = new konto(saldo); } public _Default() // Standard constructor : this(10000) // Kall den andre constructoren med 10000 som saldo { } ... Etc. }
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå