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#:
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:
/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.