An object reference is required for the non-static field, method, or property

Status
Niet open voor verdere reacties.

Speedy7912

Gebruiker
Lid geworden
4 dec 2009
Berichten
65
Hallo Allemaal,

ik ben momenteel met een zelfstudie C# bezig. Kortom een newbie dus.

ik zit met het volgende. Ik heb een custom class gemaakt met daarin gegevens van ons telefoonbestand (06-nummer, simkaartnr, naam van de gebruiker etc). Dit als zelf verzonnen zelfstudie opdracht.

Nu heb ik een main-form en een sub-form. Het subform vult het custom object wat opgeslagen wordt in een arraylist die onderdeel is van mijn main-form. De custom classe is overigens ook in een apparte .cs file opgeslagen.

Code:
public static void Listboxvullen()
        { 
            foreach (GSM phone in GSMS)
            {
                lbGSMS.Items.Add(phone.Name);
            }
        }

Op bovenstaande code krijg ik de foutcode: An object reference is required for the non-static field, method, or property 'telefoonadministratie.GSMAdministratie.lbGSMS'

wat doe ik fout?

Legenda:
GSM = Custom classe met daarin de GSM gegevens
GSMS = arraylist met daarin de objecten van het type GSM
lbGSMS = listbox waarin waarden van de arraylist moeten worden weergegeven.
 
De funcie is static.
Dat betekent dat de de lijst ook static moet wezen.

static functie kun je aanroepen als de instance niet is aangemaakt.
dan moet de lijst ook al bestaan, als static.

Pin me hier niet aan vast, heb het niet uitgezocht. :rolleyes:
 
Vermoedelijk is lbGSMS. een member van je class en omdat je methode static is kun je die member dus niet gebruiken.

Oplossing is dat je deze methode niet static maakt.

(andere oplossing zou zijn om de listbox mee te geven als parameter aan je static methode, maar waarom is hij eigenlijk static?)
 
Ik ben inmiddels een compleet andere weg in geslagen. de listbox is vervangen door een datagrid en de items worden in een tabel in sql ingelezen waardoor onderstaande niet meer van toepassing is. Iedereen hartelijk dank voor de medewerking. ik zal hiermee mijn topic sluiten.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan