1
Ohjelmointi, palvelimet ja muu edistyneempi käyttö / [RATKAISTU] Mono ei hyväksy C#:n luokka tason muuttujia?
« : 13.03.09 - klo:21.04 »
Otsikko kertonee paljon. On pakko kysyä, kun en löytänyt vastausta. Siis tämä on jotenkin kummaa...
Tässä on koodi, jonka otin suoraan kirjasta, jota käytän (tosin lisäsin Main() metodin), kielenä C#:
Tuonhan pitäisi toimia. Ongelmat ovat seuraavat:
Elii objektiviite tarvitaan ei-staattiselle fieldille(= luokkatason muuttuja, eikös?).
Mikäs jippo tässä sitten onkaan?
PS:
Jos joku ihmettelee miksi käytän C#, niin aloittelin sitä jo Windows puolella, kun se näyttää helpommalta kuin C++. Käytän tätä jonkin aikaa (varmaankin yhdessä Windowsin puolella tuon XNA kirjaston kanssa) ja siirryn sitten C++ ja/tai Javaan.
Tässä on koodi, jonka otin suoraan kirjasta, jota käytän (tosin lisäsin Main() metodin), kielenä C#:
Koodia: [Valitse]
using System;
class Example
{
static void Main(string[] args)
{
firstMethod();
Console.WriteLine(myField);
}
void firstMethod()
{
myField = 42;
}
void anotherMethod()
{
myField = 42;
}
int myField = 0;
}
Tuonhan pitäisi toimia. Ongelmat ovat seuraavat:
Koodia: [Valitse]
/home/rufi/Ohjelmointi/C#/Ch3.1/Main.cs(12,17): error CS0120: `Example.firstMethod()': An object reference is required for the nonstatic field, method or property
/home/rufi/Ohjelmointi/C#/Ch3.1/Main.cs(12,17): error CS0119: Expression denotes a `value', where a `method group' was expected
/home/rufi/Ohjelmointi/C#/Ch3.1/Main.cs(13,35): error CS0120: `Example.myField': An object reference is required for the nonstatic field, method or property
Elii objektiviite tarvitaan ei-staattiselle fieldille(= luokkatason muuttuja, eikös?).
Mikäs jippo tässä sitten onkaan?
PS:
Jos joku ihmettelee miksi käytän C#, niin aloittelin sitä jo Windows puolella, kun se näyttää helpommalta kuin C++. Käytän tätä jonkin aikaa (varmaankin yhdessä Windowsin puolella tuon XNA kirjaston kanssa) ja siirryn sitten C++ ja/tai Javaan.