hente værdier fra en anden metode i samme class

Tags:    class method c# integer boolean

metoderne: twokI() og twokB() returnerer ikke de givne værdier defineret i define()

Har oprettet denne klasse:
Fold kodeboks ind/udCSharp kode 






Indlæg senest redigeret d. 22.05.2016 11:20 af Bruger #16819
7 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 1 karma
Sorter efter stemmer Sorter efter dato
Du kalder aldrig "rules.twokI_1()" i den kode du har postet så hvordan henter du resultatet?

Må jeg desuden anbefale dig imens du lærer C# at holde dig fra GUI programmeringen men i stedet laver terminalprogrammer. Det giver langt mindre hokus pokus (altså hvor der sker en masse automatisk som du ikke har styr på) og du får nemmere ved at overskue hvad der rent faktisk sker. :)



har du tested om de bliver kaldt ??

normalt skal der this foran (C++, PHP), når du kalder en variabel / metode i classen, som ikke ligger i pågældende metode
hvor bliver define kaldt henne ??
er define ikke et resevered ord i C# ??


(utested)
Fold kodeboks ind/udKode 




Jeg har kaldt begge, og de returnerer ikke de ønskede værdier.
Har omdøbt define til setDice for at undgå reserveret ord, og afprøvet din kode. Den giver fejlbeskeder istedet.

Fold kodeboks ind/udCSharp kode 

har også forsøgt med
Fold kodeboks ind/udCSharp kode 




Indlæg senest redigeret d. 22.05.2016 13:32 af Bruger #16819
Kan du ikke pakke alt din kode sammen til en zip fil og upload et sted som vi kan hente det fra? Det er tydeligt du ikke giver os alt koden og lige nu mangler vi nogle centrale dele af koden for at kunne pege på problemet.



Hej Jacob tak for interesse :-)
Er ny i C# og derfor er koden nok lidt knoldet. Der er ikke så meget kode

her er al kode i klassen rules, som kaldes fra klassen presentation

Fold kodeboks ind/udCSharp kode 


Her er klassen Presentation

Fold kodeboks ind/udCSharp kode 


samt klassen player, som ikke har indflydelse på klassen rules
Fold kodeboks ind/udCSharp kode 




Mange tak for input :-)
Jeg har haft kaldt den, men den retunerede ikke det ønskede resultat, så kodede videre og brugte feltet til at kalde en anden metode..
Jeg læser grundlæggende programmering på akademi uddannelsen. Opgaven var at lave et yatzy spil i windows forms.
Og ja det er lidt svært at overskue, men alt kode fungerer. Dog undtagen det at jeg kan hente variablerne fra en metode i en anden metode :-/
Men det fungerer jo fint i min player klasse. Så det er bare endnu mere frustrerende.



Af hvad jeg kan se, og jeg har kigget din player-klasse igennem også, har vi et problem her:

Fold kodeboks ind/udCSharp kode 


Metoden twokB_1 returnerer rule_1, men hverken setDice() eller nogen anden metode i de øvrige klasser sætter nogensinde rule_1 til en værdi (hvilket i øvrigt gør det problematisk at den er public og kan tilgås når som helst, hvor som helst. Hvis du forsøger at hente dens værdi mens programmet kører uden at den har en værdi vil dit program formentlig crashe, hvis ikke Visual Studio stopper dig inden).

Ydermere kan det ikke undre at Sum ikke er lig summen af d1+d2+d3, da du eksplicit sætter den til konstanten 10.

Jeg har ikke sat mig 100% ind i koden, men det var hvad der lige umiddelbart faldt mig ind. Hvis dit program stadig ikke virker efter du har rettet disse fejl, så skriv igen og forklar hvad den giver af problemer, og jeg kan prøve at tage et kig igen.



t