I_Want_a_Wii Skrevet 18. januar 2007 Del Skrevet 18. januar 2007 (endret) Hei! Driver på i Visual Studio. Skal lage en random number generator og har skrevet følgende kode, som jeg mener burde funket. class Randomnumber { Random RandomClass = new Random(); int RandomNumber = RandomClass.Next(1, 12); } Får feilmeldingen: A field initializer cannot reference the nonstatic field, method, or property 'Blackjack.Randomnumber.RandomClass' Noen som vet hva feilen kan være, eller hjelpe til med en random generator? Endret 18. januar 2007 av I_Want_a_Wii Lenke til kommentar
john.einar Skrevet 18. januar 2007 Del Skrevet 18. januar 2007 (endret) Kremt, kan du programmering? Du må ikke blande klassedefinisjoner og funksjoner. Du har (om man ser bort fra andre feil) laget en klasse med 2 medlemmer som heter RandomClass og RandomNumber. Og init'en av RandomNumber refererer til RandomClass, som ikke funker spesielt bra. Du vil kanskje ha noe slikt? class Randomnumber { private int randomNumber; public Randomnumber() { randomNumber = new Random().Next(1, 12); } ... } Endret 18. januar 2007 av johneinar Lenke til kommentar
I_Want_a_Wii Skrevet 18. januar 2007 Forfatter Del Skrevet 18. januar 2007 Kremt, kan du programmering? Du må ikke blande klassedefinisjoner og funksjoner. Du har (om man ser bort fra andre feil) laget en klasse med 2 medlemmer som heter RandomClass og RandomNumber. Og init'en av RandomNumber refererer til RandomClass, som ikke funker spesielt bra. Du vil kanskje ha noe slikt? class Randomnumber { private int randomNumber; public Randomnumber() { randomNumber = new Random().Next(1, 12); } ... } 7751327[/snapback] Har desverre ikke fått inn det med klasser, konstruktører og funksjoner helt Men takk for svar anyway Lenke til kommentar
I_Want_a_Wii Skrevet 18. januar 2007 Forfatter Del Skrevet 18. januar 2007 (endret) Enda et spørsmål: Skal vel lage en "instance" av denne randomfunksjonen (Eller har jeg feil?) Det er en knapp bare for å teste om random generatoren fungerte. Prøvde å private void btnRandom1_Click(object sender, EventArgs e) { Randomnumber rnd = new Randomnumber(); MessageBox.Show(rnd.ToString); } Randomnumber er jo en int, så det burde vel fungere, men det gjør det jo ikke, så da har jeg jo garantert feil Ps. Jeg tar gjerne inn gode forklaringer på forskjeller på: Klasse Funksjon Instance Endret 18. januar 2007 av I_Want_a_Wii Lenke til kommentar
GeirGrusom Skrevet 18. januar 2007 Del Skrevet 18. januar 2007 (endret) en klasse er en teoretisk del med kode, for å strukturere koden på en litt mer logisk måte. Se for deg, tja, en and. En and har en rekke med egenskaper og evner, vi kan kalle egenskaper for Properties i programmering, og evner for Funksjoner Men si at vi har en Stokkand, en stokkand arver alle egenskaper og evner fra and, i tillegg til å definere egne, eller endre evner og egenskaper fra and. public class And; public class Stokkand : And En instance, er et ferdig produkt av en klasse, f.eks. en Stokkand ved navn Hans. Hans er unik, i motsetning til Stokkand, som er en type, men har alle egenskaper og evner som Stokkand har, men med forskjellige verdier. Funksjoner er noe som er tatt fra matematikk, dette med tanke på at all programmering bunner ut i matematikk. f.eks. x = sin(120) er en funksjon som ville sett helt lik ut i matematikk som i programmering, og fungert på samme måte i bortimot alle programmeringsspråk. En funksjon kan ta en rekke parameter (inndata) og et parameter som alltid inngår i en funksjon som er en ikke-statisk funksjon, som er en del av en klasse, har et "hemmelig" parameter som heter "this" i C#,C++ og Java, og Me i Visual Basic Dette er en peker til objektet som funksjonen hører til. La oss si at Stokkand har en funksjon som heter "Svøm" denne får en stokkand til å svømme, og er da en av evnene til Hans. Så hvis noen roper "Hans! Svøm!" (Hans.Svøm()) så svømmer Hans. Du nkan ikke kalle "Stokkand.Svøm()" siden stokkand er en datatype, men hvis du hadde deklarert Svøm som en statisk funksjon, ville den fungert, men den hadde ingen instancer å peke til, og ville ikke fungert uten omskriving. Dette er laget for å kunne ha en generell funksjon, som ikke jobbet med et objekt. Det en klasse også kan gjøre i moderne programmeringsspråk, er å implementere interfaces interfaces er ikke eksekverbar kode, men er laget for å garantere at en klasse har muligheten som interfacet krever, f.eks. IButtonControl i C#, som garanterer at et objekt som implementere IButtonControl, fungerer som en knapp. Endret 18. januar 2007 av GeirGrusom Lenke til kommentar
Manfred Skrevet 19. januar 2007 Del Skrevet 19. januar 2007 (endret) Haha.. Den var bra Geir God forklaring av Klasser, instanser, properties og funksjoner! Endret 19. januar 2007 av Manfred Lenke til kommentar
hpfarstad Skrevet 20. januar 2007 Del Skrevet 20. januar 2007 Genialt forklart! Av alle mulige objekter som finnes i verden, fungerte And bemerkelsesverdig bra! Ser dog for meg en del forvirring om du hadde hatt kodesnutter i VB eller T-SQL og skulle bruke AND som i A = 1 AND B = 2! Lenke til kommentar
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å