Meget simpelt spørgsmål om static

Tags:    static c#

<< < 12 > >>
Hej udviklere!
Jeg har et program der skal kunne pixel'ere et billede.
Har fundet en kode på nettet, og den melder ingen fejl. Det er en private static:
Fold kodeboks ind/udCSharp kode 


Har også en knap der skal affyre den. Men hvordan? Hvad skal jeg helt præcis skrive i knappen?

Fold kodeboks ind/udCSharp kode 





15 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 5 karma
Sorter efter stemmer Sorter efter dato
Man tilgår et statisk medlem af en klasse ude fra klassen selv ved at skrive klassens navn, et punktum, og så det medlem man gerne vil bruge. Hvis din metode er private kan du dog kun tilgå den fra samme klasse. Din kode viser ikke rigtigt om du bare har kopieret metoden ind i din form, men hvis du har, så burde du bare kunne skrive:

Bitmap bmp = FormNavn.Pixelate();

Mvh.

Kasper (TSW)



Indlæg senest redigeret d. 14.06.2011 20:24 af Bruger #1
Tobias, du læser tydeligvis ikke det jeg har skrevet og så er det altså lidt svært at hjælpe dig. Den fejl du beskriver har jeg allerede fortalt dig om i mit indlæg.

Mvh.

Kasper (TSW)



Er det det der skal stå på knappen?



Nej koden der skal stå "i" knappen. En simpel kode(går jeg ud fra) som skal pixel'ere billedet. Så når jeg trykker på knappen bliver billedet, som jeg har load'et ind i PictureBox, pixel'eret. Den skal egentlig bare køre den der private static



Jeg har kopiteret den ind i samme klasse. Jeg har ikke brug for at declare Pixelate, tror jeg. Jeg har egentlig bare brug får at trykke på knappen, og så skulle billedet pixel'ere. Kan det lade sig gøre? Eller kan man ikke bruge en static?



Static betyder at du ikke har instantieret et objekt af klassen og derfor skal du som Kasper skriver, skrive klassenavnet.metodenavnet



Jeg forslår lav en Pixelator-klasse og indeni den paste'r du den kode/static metode du har fundet.
Så i din knap skriver du Pixelator.Pixelate(...) og gør med resultatet hvad du vil :)



Okay, det vil jeg så gøre! ;D

Lige et par fejl...
Fold kodeboks ind/udCSharp kode 


Fold kodeboks ind/udCSharp kode 




Indlæg senest redigeret d. 15.06.2011 08:40 af Bruger #16668
>Lige et par fejl...

Så giver det meget god mening lige at skrive fejlene også :)

Anyway, jeg kan i hvert fald se at du har glemt at putte parametre efter dine metodekald. Hvorfor du kalder metoden to gange, men kun gemmer resultatet den ene gang, forstår jeg nok heller ikke. Din Pixelate() metode tager en række parametre, som du naturligvis skal give den. Jeg har ikke skrevet metoden og kender den derfor ikke, men jeg gætter på at den første er det billede der skal pixeleres, den anden er det område der skal pixeleres og den sidste er størrelsen af de forvrængninger der skal laves.

Mvh.

Kasper (TSW)



For det første, så skal der altid () på metodekald, så det skal hedde:

Bitmap bmp = PixelateClass.Pixelate();

MEN der er jo parametre til metoden og dem skal du huske mellem ( og ).




<< < 12 > >>
t